Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,24 @@ public class CodeGenMojo extends AbstractMojo {
@Parameter(name = "mergedFileName", property = "openapi.generator.maven.plugin.mergedFileName", defaultValue = "_merged_spec")
private String mergedFileName;

/**
* Name that will appear in the info section of the merged spec
*/
@Parameter(name = "mergedFileInfoName", property = "openapi.generator.maven.plugin.mergedFileInfoName", defaultValue = "merged spec")
private String mergedFileInfoName;

/**
* Description that will appear in the info section of the merged spec
*/
@Parameter(name = "mergedFileInfoDescription", property = "openapi.generator.maven.plugin.mergedFileInfoDescription", defaultValue = "merged spec")
private String mergedFileInfoDescription;

/**
* Version that will appear in the info section of the merged spec
*/
@Parameter(name = "mergedFileInfoVersion", property = "openapi.generator.maven.plugin.mergedFileInfoVersion", defaultValue = "1.0.0")
private String mergedFileInfoVersion;

/**
* Git host, e.g. gitlab.com.
*/
Expand Down Expand Up @@ -545,7 +563,8 @@ public void execute() throws MojoExecutionException {
}

if (StringUtils.isNotBlank(inputSpecRootDirectory)) {
inputSpec = new MergedSpecBuilder(inputSpecRootDirectory, mergedFileName)
inputSpec = new MergedSpecBuilder(inputSpecRootDirectory, mergedFileName,
mergedFileInfoName, mergedFileInfoDescription, mergedFileInfoVersion)
.buildMergedSpec();
LOGGER.info("Merge input spec would be used - {}", inputSpec);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,21 @@ public class MergedSpecBuilder {

private final String inputSpecRootDirectory;
private final String mergeFileName;
private final String mergedFileInfoName;
private final String mergedFileInfoDescription;
private final String mergedFileInfoVersion;

public MergedSpecBuilder(final String rootDirectory, final String mergeFileName) {
this(rootDirectory, mergeFileName, "merged spec", "merged spec", "1.0.0");
}

public MergedSpecBuilder(final String rootDirectory, final String mergeFileName,
final String mergedFileInfoName, final String mergedFileInfoDescription, final String mergedFileInfoVersion) {
this.inputSpecRootDirectory = rootDirectory;
this.mergeFileName = mergeFileName;
this.mergedFileInfoName = mergedFileInfoName;
this.mergedFileInfoDescription = mergedFileInfoDescription;
this.mergedFileInfoVersion = mergedFileInfoVersion;
}

public String buildMergedSpec() {
Expand Down Expand Up @@ -80,8 +91,8 @@ public String buildMergedSpec() {
return mergedFilePath.toString();
}

private static Map<String, Object> generatedMergedSpec(String openapiVersion, List<SpecWithPaths> allPaths) {
Map<String, Object> spec = generateHeader(openapiVersion);
private Map<String, Object> generatedMergedSpec(String openapiVersion, List<SpecWithPaths> allPaths) {
Map<String, Object> spec = generateHeader(openapiVersion, mergedFileInfoName, mergedFileInfoDescription, mergedFileInfoVersion);
Map<String, Object> paths = new HashMap<>();
spec.put("paths", paths);

Expand All @@ -97,13 +108,13 @@ private static Map<String, Object> generatedMergedSpec(String openapiVersion, Li
return spec;
}

private static Map<String, Object> generateHeader(String openapiVersion) {
private static Map<String, Object> generateHeader(String openapiVersion, String title, String description, String version) {
Map<String, Object> map = new HashMap<>();
map.put("openapi", openapiVersion);
map.put("info", ImmutableMap.of(
"title", "merged spec",
"description", "merged spec",
"version", "1.0.0"
"title", title,
"description", description,
"version", version
));
map.put("servers", Collections.singleton(
ImmutableMap.of("url", "http://localhost:8080")
Expand Down
Loading