forked from loafle/openapi-generator-original
[Java] add an option to customize gradle.properties (#10540)
* add an option to customize gradle properties * add more info to gradle.properties
This commit is contained in:
parent
20ccf36c50
commit
96c65fea61
@ -10,3 +10,4 @@ additionalProperties:
|
|||||||
dateLibrary: java8
|
dateLibrary: java8
|
||||||
useOneOfDiscriminatorLookup: true
|
useOneOfDiscriminatorLookup: true
|
||||||
disallowAdditionalPropertiesIfNotPresent: false
|
disallowAdditionalPropertiesIfNotPresent: false
|
||||||
|
gradleProperties: "\n# JVM arguments\norg.gradle.jvmargs=-Xmx2024m -XX:MaxPermSize=512m\n# set timeout\norg.gradle.daemon.idletimeout=3600000\n# show all warnings\norg.gradle.warning.mode=all"
|
||||||
|
@ -30,6 +30,7 @@ These options may be applied as additional-properties (cli) or configOptions (pl
|
|||||||
|dynamicOperations|Generate operations dynamically at runtime from an OAS| |false|
|
|dynamicOperations|Generate operations dynamically at runtime from an OAS| |false|
|
||||||
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|
|ensureUniqueParams|Whether to ensure parameter names are unique in an operation (rename parameters that are not).| |true|
|
||||||
|fullJavaUtil|whether to use fully qualified name for classes under java.util. This option only works for Java API client| |false|
|
|fullJavaUtil|whether to use fully qualified name for classes under java.util. This option only works for Java API client| |false|
|
||||||
|
|gradleProperties|Append additional Gradle proeprties to the gradle.properties file| |null|
|
||||||
|groupId|groupId in generated pom.xml| |org.openapitools|
|
|groupId|groupId in generated pom.xml| |org.openapitools|
|
||||||
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |false|
|
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |false|
|
||||||
|ignoreAnyOfInEnum|Ignore anyOf keyword in enum| |false|
|
|ignoreAnyOfInEnum|Ignore anyOf keyword in enum| |false|
|
||||||
|
@ -63,6 +63,7 @@ public class JavaClientCodegen extends AbstractJavaCodegen
|
|||||||
public static final String MICROPROFILE_FRAMEWORK = "microprofileFramework";
|
public static final String MICROPROFILE_FRAMEWORK = "microprofileFramework";
|
||||||
public static final String USE_ABSTRACTION_FOR_FILES = "useAbstractionForFiles";
|
public static final String USE_ABSTRACTION_FOR_FILES = "useAbstractionForFiles";
|
||||||
public static final String DYNAMIC_OPERATIONS = "dynamicOperations";
|
public static final String DYNAMIC_OPERATIONS = "dynamicOperations";
|
||||||
|
public static final String GRADLE_PROPERTIES= "gradleProperties";
|
||||||
|
|
||||||
public static final String PLAY_24 = "play24";
|
public static final String PLAY_24 = "play24";
|
||||||
public static final String PLAY_25 = "play25";
|
public static final String PLAY_25 = "play25";
|
||||||
@ -111,6 +112,7 @@ public class JavaClientCodegen extends AbstractJavaCodegen
|
|||||||
protected boolean caseInsensitiveResponseHeaders = false;
|
protected boolean caseInsensitiveResponseHeaders = false;
|
||||||
protected boolean useAbstractionForFiles = false;
|
protected boolean useAbstractionForFiles = false;
|
||||||
protected boolean dynamicOperations = false;
|
protected boolean dynamicOperations = false;
|
||||||
|
protected String gradleProperties;
|
||||||
protected String authFolder;
|
protected String authFolder;
|
||||||
protected String serializationLibrary = null;
|
protected String serializationLibrary = null;
|
||||||
|
|
||||||
@ -154,6 +156,7 @@ public class JavaClientCodegen extends AbstractJavaCodegen
|
|||||||
cliOptions.add(CliOption.newString(MICROPROFILE_FRAMEWORK, "Framework for microprofile. Possible values \"kumuluzee\""));
|
cliOptions.add(CliOption.newString(MICROPROFILE_FRAMEWORK, "Framework for microprofile. Possible values \"kumuluzee\""));
|
||||||
cliOptions.add(CliOption.newBoolean(USE_ABSTRACTION_FOR_FILES, "Use alternative types instead of java.io.File to allow passing bytes without a file on disk. Available on " + RESTTEMPLATE + " library"));
|
cliOptions.add(CliOption.newBoolean(USE_ABSTRACTION_FOR_FILES, "Use alternative types instead of java.io.File to allow passing bytes without a file on disk. Available on " + RESTTEMPLATE + " library"));
|
||||||
cliOptions.add(CliOption.newBoolean(DYNAMIC_OPERATIONS, "Generate operations dynamically at runtime from an OAS", this.dynamicOperations));
|
cliOptions.add(CliOption.newBoolean(DYNAMIC_OPERATIONS, "Generate operations dynamically at runtime from an OAS", this.dynamicOperations));
|
||||||
|
cliOptions.add(CliOption.newString(GRADLE_PROPERTIES, "Append additional Gradle proeprties to the gradle.properties file"));
|
||||||
|
|
||||||
supportedLibraries.put(JERSEY1, "HTTP client: Jersey client 1.19.x. JSON processing: Jackson 2.9.x. Enable gzip request encoding using '-DuseGzipFeature=true'. IMPORTANT NOTE: jersey 1.x is no longer actively maintained so please upgrade to 'jersey2' or other HTTP libraries instead.");
|
supportedLibraries.put(JERSEY1, "HTTP client: Jersey client 1.19.x. JSON processing: Jackson 2.9.x. Enable gzip request encoding using '-DuseGzipFeature=true'. IMPORTANT NOTE: jersey 1.x is no longer actively maintained so please upgrade to 'jersey2' or other HTTP libraries instead.");
|
||||||
supportedLibraries.put(JERSEY2, "HTTP client: Jersey client 2.25.1. JSON processing: Jackson 2.9.x");
|
supportedLibraries.put(JERSEY2, "HTTP client: Jersey client 2.25.1. JSON processing: Jackson 2.9.x");
|
||||||
@ -318,6 +321,11 @@ public class JavaClientCodegen extends AbstractJavaCodegen
|
|||||||
}
|
}
|
||||||
additionalProperties.put(DYNAMIC_OPERATIONS, dynamicOperations);
|
additionalProperties.put(DYNAMIC_OPERATIONS, dynamicOperations);
|
||||||
|
|
||||||
|
if (additionalProperties.containsKey(GRADLE_PROPERTIES)) {
|
||||||
|
this.setGradleProperties(additionalProperties.get(GRADLE_PROPERTIES).toString());
|
||||||
|
}
|
||||||
|
additionalProperties.put(GRADLE_PROPERTIES, gradleProperties);
|
||||||
|
|
||||||
final String invokerFolder = (sourceFolder + '/' + invokerPackage).replace(".", "/");
|
final String invokerFolder = (sourceFolder + '/' + invokerPackage).replace(".", "/");
|
||||||
final String apiFolder = (sourceFolder + '/' + apiPackage).replace(".", "/");
|
final String apiFolder = (sourceFolder + '/' + apiPackage).replace(".", "/");
|
||||||
authFolder = (sourceFolder + '/' + invokerPackage + ".auth").replace(".", "/");
|
authFolder = (sourceFolder + '/' + invokerPackage + ".auth").replace(".", "/");
|
||||||
@ -980,6 +988,10 @@ public class JavaClientCodegen extends AbstractJavaCodegen
|
|||||||
this.dynamicOperations = dynamicOperations;
|
this.dynamicOperations = dynamicOperations;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setGradleProperties(final String gradleProperties) {
|
||||||
|
this.gradleProperties= gradleProperties;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Serialization library.
|
* Serialization library.
|
||||||
*
|
*
|
||||||
|
@ -1,2 +1,9 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
||||||
|
{{#gradleProperties}}
|
||||||
|
{{{.}}}
|
||||||
|
{{/gradleProperties}}
|
||||||
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,6 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
@ -1,2 +1,13 @@
|
|||||||
# Uncomment to build for Android
|
# This file is automatically generated by OpenAPI Generator (https://github.com/openAPITools/openapi-generator).
|
||||||
|
# To include other gradle properties as part of the code generation process, please use the `gradleProperties` option.
|
||||||
|
#
|
||||||
|
# Gradle properties reference: https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
|
||||||
|
# For example, uncomment below to build for Android
|
||||||
#target = android
|
#target = android
|
||||||
|
|
||||||
|
# JVM arguments
|
||||||
|
org.gradle.jvmargs=-Xmx2024m -XX:MaxPermSize=512m
|
||||||
|
# set timeout
|
||||||
|
org.gradle.daemon.idletimeout=3600000
|
||||||
|
# show all warnings
|
||||||
|
org.gradle.warning.mode=all
|
||||||
|
Loading…
x
Reference in New Issue
Block a user