From c2ed4d625c1a4403a895e088520d896dacb56ba2 Mon Sep 17 00:00:00 2001 From: frantuma Date: Mon, 8 Jul 2019 19:49:20 +0200 Subject: [PATCH] ref #9540 - fix generate option 3.0.0 --- .../swagger/codegen/v3/CodegenConstants.java | 2 ++ .../swagger/codegen/v3/DefaultGenerator.java | 27 +++++++++++++++---- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/v3/CodegenConstants.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/v3/CodegenConstants.java index e073493396a..247ff89d9cc 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/v3/CodegenConstants.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/v3/CodegenConstants.java @@ -198,12 +198,14 @@ public static enum ENUM_PROPERTY_NAMING_TYPE {camelCase, PascalCase, snake_case, public static final String EXCLUDE_TESTS_DESC = "Specifies that no tests are to be generated."; // Not user-configurable. System provided for use in templates. + public static final String GENERATE_APIS = "generateApis"; public static final String GENERATE_API_DOCS = "generateApiDocs"; public static final String GENERATE_API_TESTS = "generateApiTests"; public static final String GENERATE_API_TESTS_DESC = "Specifies that api tests are to be generated."; // Not user-configurable. System provided for use in templates. + public static final String GENERATE_MODELS = "generateModels"; public static final String GENERATE_MODEL_DOCS = "generateModelDocs"; public static final String GENERATE_MODEL_TESTS = "generateModelTests"; diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/v3/DefaultGenerator.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/v3/DefaultGenerator.java index 6ffb7c55348..8a0aa2e5233 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/v3/DefaultGenerator.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/v3/DefaultGenerator.java @@ -136,9 +136,23 @@ private String getScheme() { private void configureGeneratorProperties() { // allows generating only models by specifying a CSV of models to generate, or empty for all // NOTE: Boolean.TRUE is required below rather than `true` because of JVM boxing constraints and type inference. - generateApis = System.getProperty(CodegenConstants.APIS) != null ? Boolean.TRUE : getGeneratorPropertyDefaultSwitch(CodegenConstants.APIS, null); - generateModels = System.getProperty(CodegenConstants.MODELS) != null ? Boolean.TRUE : getGeneratorPropertyDefaultSwitch(CodegenConstants.MODELS, null); - generateSupportingFiles = System.getProperty(CodegenConstants.SUPPORTING_FILES) != null ? Boolean.TRUE : getGeneratorPropertyDefaultSwitch(CodegenConstants.SUPPORTING_FILES, null); + + if (System.getProperty(CodegenConstants.GENERATE_APIS) != null) { + generateApis = Boolean.valueOf(System.getProperty(CodegenConstants.GENERATE_APIS)); + } else { + generateApis = System.getProperty(CodegenConstants.APIS) != null ? Boolean.TRUE : getGeneratorPropertyDefaultSwitch(CodegenConstants.APIS, null); + } + if (System.getProperty(CodegenConstants.GENERATE_MODELS) != null) { + generateModels = Boolean.valueOf(System.getProperty(CodegenConstants.GENERATE_MODELS)); + } else { + generateModels = System.getProperty(CodegenConstants.MODELS) != null ? Boolean.TRUE : getGeneratorPropertyDefaultSwitch(CodegenConstants.MODELS, null); + } + String supportingFilesProperty = System.getProperty(CodegenConstants.SUPPORTING_FILES); + if (((supportingFilesProperty != null) && supportingFilesProperty.equalsIgnoreCase("false"))) { + generateSupportingFiles = false; + } else { + generateSupportingFiles = supportingFilesProperty != null ? Boolean.TRUE : getGeneratorPropertyDefaultSwitch(CodegenConstants.SUPPORTING_FILES, null); + } if (generateApis == null && generateModels == null && generateSupportingFiles == null) { // no specifics are set, generate everything @@ -568,7 +582,10 @@ private void generateSupportingFiles(List files, Map bundl } Set supportingFilesToGenerate = null; String supportingFiles = System.getProperty(CodegenConstants.SUPPORTING_FILES); - if (supportingFiles != null && !supportingFiles.isEmpty()) { + boolean generateAll = false; + if (supportingFiles != null && supportingFiles.equalsIgnoreCase("true")) { + generateAll = true; + } else if (supportingFiles != null && !supportingFiles.isEmpty()) { supportingFilesToGenerate = new HashSet<>(Arrays.asList(supportingFiles.split(","))); } @@ -595,7 +612,7 @@ private void generateSupportingFiles(List files, Map bundl } boolean shouldGenerate = true; - if(supportingFilesToGenerate != null && !supportingFilesToGenerate.isEmpty()) { + if(!generateAll && supportingFilesToGenerate != null && !supportingFilesToGenerate.isEmpty()) { shouldGenerate = supportingFilesToGenerate.contains(support.destinationFilename); } if (!shouldGenerate){