Fixed additional property omitGradleWrapper for kotlin generator (#15584)

This commit is contained in:
Stefan Koppier 2023-05-20 17:29:24 +02:00 committed by GitHub
parent e7039f434e
commit 08bb0f42fe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 41 additions and 5 deletions

View File

@ -99,10 +99,11 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
protected boolean doNotUseRxAndCoroutines = true;
protected boolean generateRoomModels = false;
protected String roomModelPackage = "";
protected boolean omitGradleWrapper = false;
protected String authFolder;
public enum DateLibrary {
STRING("string"),
THREETENBP("threetenbp"),
@ -265,6 +266,10 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
return generateRoomModels;
}
public boolean getOmitGradleWrapper() {
return omitGradleWrapper;
}
public void setGenerateRoomModels(Boolean generateRoomModels) {
this.generateRoomModels = generateRoomModels;
}
@ -336,6 +341,10 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
this.roomModelPackage = roomModelPackage;
}
public void setOmitGradleWrapper(boolean omitGradleWrapper) {
this.omitGradleWrapper = omitGradleWrapper;
}
@Override
public String modelFilename(String templateName, String modelName) {
String suffix = modelTemplateFiles().get(templateName);
@ -426,6 +435,10 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
setRequestDateConverter(additionalProperties.get(REQUEST_DATE_CONVERTER).toString());
}
if (additionalProperties.containsKey(OMIT_GRADLE_WRAPPER)) {
setOmitGradleWrapper(Boolean.parseBoolean(additionalProperties.get(OMIT_GRADLE_WRAPPER).toString()));
}
commonSupportingFiles();
switch (getLibrary()) {
@ -787,10 +800,12 @@ public class KotlinClientCodegen extends AbstractKotlinCodegen {
}
// gradle wrapper supporting files
supportingFiles.add(new SupportingFile("gradlew.mustache", "", "gradlew"));
supportingFiles.add(new SupportingFile("gradlew.bat.mustache", "", "gradlew.bat"));
supportingFiles.add(new SupportingFile("gradle-wrapper.properties.mustache", "gradle.wrapper".replace(".", File.separator), "gradle-wrapper.properties"));
supportingFiles.add(new SupportingFile("gradle-wrapper.jar", "gradle.wrapper".replace(".", File.separator), "gradle-wrapper.jar"));
if (!getOmitGradleWrapper()) {
supportingFiles.add(new SupportingFile("gradlew.mustache", "", "gradlew"));
supportingFiles.add(new SupportingFile("gradlew.bat.mustache", "", "gradlew.bat"));
supportingFiles.add(new SupportingFile("gradle-wrapper.properties.mustache", "gradle.wrapper".replace(".", File.separator), "gradle-wrapper.properties"));
supportingFiles.add(new SupportingFile("gradle-wrapper.jar", "gradle.wrapper".replace(".", File.separator), "gradle-wrapper.jar"));
}
}
@Override

View File

@ -384,6 +384,27 @@ public class KotlinClientCodegenModelTest {
);
}
@Test
public void testOmitGradleWrapperDoesNotGenerateWrapper() throws IOException {
File output = Files.createTempDirectory("test").toFile();
String path = output.getAbsolutePath();
output.deleteOnExit();
final CodegenConfigurator configurator = new CodegenConfigurator()
.setGeneratorName("kotlin")
.setInputSpec("src/test/resources/3_0/ping.yaml")
.addAdditionalProperty("omitGradleWrapper", true)
.setOutputDir(output.getAbsolutePath().replace("\\", "/"));
DefaultGenerator generator = new DefaultGenerator();
generator.opts(configurator.toClientOptInput()).generate();
TestUtils.assertFileNotExists(Paths.get(path, "gradlew"));
TestUtils.assertFileNotExists(Paths.get(path, "gradlew.bat"));
TestUtils.assertFileNotExists(Paths.get(path, "gradle", "wrapper", "gradle-wrapper.properties"));
TestUtils.assertFileNotExists(Paths.get(path, "gradle", "wrapper", "gradle-wrapper.jar"));
}
private static class ModelNameTest {
private final String expectedName;
private final String expectedClassName;