diff --git a/bin/configs/python-experimental.yaml b/bin/configs/python-experimental.yaml index dd204f44938..1a8ea6e002c 100644 --- a/bin/configs/python-experimental.yaml +++ b/bin/configs/python-experimental.yaml @@ -2,6 +2,7 @@ generatorName: python-experimental outputDir: samples/openapi3/client/petstore/python-experimental inputSpec: modules/openapi-generator/src/test/resources/3_0/python-experimental/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml templateDir: modules/openapi-generator/src/main/resources/python-experimental +templatingEngineName: handlebars additionalProperties: packageName: petstore_api recursionLimit: "1234" diff --git a/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/WorkflowSettings.java b/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/WorkflowSettings.java index 64e426fa68a..e2feddb9822 100644 --- a/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/WorkflowSettings.java +++ b/modules/openapi-generator-core/src/main/java/org/openapitools/codegen/config/WorkflowSettings.java @@ -46,7 +46,7 @@ public class WorkflowSettings { public static final boolean DEFAULT_ENABLE_MINIMAL_UPDATE = false; public static final boolean DEFAULT_STRICT_SPEC_BEHAVIOR = true; public static final boolean DEFAULT_GENERATE_ALIAS_AS_MODEL = false; - public static final String DEFAULT_TEMPLATING_ENGINE_NAME = null; // this is set by the generator + public static final String DEFAULT_TEMPLATING_ENGINE_NAME = "mustache"; public static final Map DEFAULT_GLOBAL_PROPERTIES = Collections.unmodifiableMap(new HashMap<>()); private String inputSpec; diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java index 952d3a841f2..2207e3170fb 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java @@ -305,8 +305,6 @@ public interface CodegenConfig { Schema unaliasSchema(Schema schema, Map usedImportMappings); - public String defaultTemplatingEngine(); - public GeneratorLanguage generatorLanguage(); /* diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index d4c70494f97..95df82d2ddf 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -7357,11 +7357,6 @@ public class DefaultCodegen implements CodegenConfig { return xOf; } - @Override - public String defaultTemplatingEngine() { - return "mustache"; - } - @Override public GeneratorLanguage generatorLanguage() { return GeneratorLanguage.JAVA; } diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java index 9eb6f558ef7..b5bd0b23c33 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/config/CodegenConfigurator.java @@ -91,18 +91,11 @@ public class CodegenConfigurator { WorkflowSettings workflowSettings = settings.getWorkflowSettings(); List userDefinedTemplateSettings = settings.getFiles(); - CodegenConfig config = CodegenConfigLoader.forName(generatorSettings.getGeneratorName()); - String templatingEngineName = workflowSettings.getTemplatingEngineName(); - if (isEmpty(templatingEngineName)) { - // if templatingEngineName is empty check the config for a default - templatingEngineName = config.defaultTemplatingEngine(); - } - // We copy "cached" properties into configurator so it is appropriately configured with all settings in external files. // FIXME: target is to eventually move away from CodegenConfigurator properties except gen/workflow settings. configurator.generatorName = generatorSettings.getGeneratorName(); configurator.inputSpec = workflowSettings.getInputSpec(); - configurator.templatingEngineName = templatingEngineName; + configurator.templatingEngineName = workflowSettings.getTemplatingEngineName(); if (workflowSettings.getGlobalProperties() != null) { configurator.globalProperties.putAll(workflowSettings.getGlobalProperties()); } @@ -489,17 +482,15 @@ public class CodegenConfigurator { Validate.notEmpty(generatorName, "generator name must be specified"); Validate.notEmpty(inputSpec, "input spec must be specified"); - GeneratorSettings generatorSettings = generatorSettingsBuilder.build(); - CodegenConfig config = CodegenConfigLoader.forName(generatorSettings.getGeneratorName()); if (isEmpty(templatingEngineName)) { - // if templatingEngineName is empty check the config for a default - String defaultTemplatingEngine = config.defaultTemplatingEngine(); - workflowSettingsBuilder.withTemplatingEngineName(defaultTemplatingEngine); + // Built-in templates are mustache, but allow users to use a simplified handlebars engine for their custom templates. + workflowSettingsBuilder.withTemplatingEngineName("mustache"); } else { workflowSettingsBuilder.withTemplatingEngineName(templatingEngineName); } // at this point, all "additionalProperties" are set, and are now immutable per GeneratorSettings instance. + GeneratorSettings generatorSettings = generatorSettingsBuilder.build(); WorkflowSettings workflowSettings = workflowSettingsBuilder.build(); if (workflowSettings.isVerbose()) { diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java index 5424080f0d7..ca237e47eca 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonExperimentalClientCodegen.java @@ -2086,11 +2086,6 @@ public class PythonExperimentalClientCodegen extends AbstractPythonCodegen { return co; } - @Override - public String defaultTemplatingEngine() { - return "handlebars"; - } - @Override public String generatorLanguageVersion() { return ">=3.9"; }; }