Skip to content

Commit cb70fe4

Browse files
author
Andy Barilla
committed
Add generateApis and GenerateModels options
1 parent aa9f471 commit cb70fe4

File tree

5 files changed

+36
-4
lines changed

5 files changed

+36
-4
lines changed

client/deployment/src/main/java/io/quarkiverse/openapi/generator/deployment/CodegenConfig.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ public enum ConfigName {
6767
USE_FIELD_NAME_IN_PART_FILENAME("use-field-name-in-part-filename"),
6868
ADDITIONAL_PROPERTIES_AS_ATTRIBUTE("additional-properties-as-attribute"),
6969
ADDITIONAL_REQUEST_ARGS("additional-request-args"),
70-
BEAN_VALIDATION("use-bean-validation");
70+
BEAN_VALIDATION("use-bean-validation"),
71+
GENERATE_APIS("generate-apis"),
72+
GENERATE_MODELS("generate-models");
7173

7274
private final String name;
7375

client/deployment/src/main/java/io/quarkiverse/openapi/generator/deployment/CommonItemConfig.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,4 +153,16 @@ public class CommonItemConfig {
153153
*/
154154
@ConfigItem(name = "use-bean-validation")
155155
public Optional<Boolean> useBeanValidation;
156+
157+
/**
158+
* Enable the generation of APIs. If you set this to {@code false}, APIs will not be generated.
159+
*/
160+
@ConfigItem(name = "generate-apis")
161+
public Optional<Boolean> generateApis;
162+
163+
/**
164+
* Enable the generation of models. If you set this to {@code false}, models will not be generated.
165+
*/
166+
@ConfigItem(name = "generate-models")
167+
public Optional<Boolean> generateModels;
156168
}

client/deployment/src/main/java/io/quarkiverse/openapi/generator/deployment/wrapper/OpenApiClientGeneratorWrapper.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,16 @@ public OpenApiClientGeneratorWrapper withUseBeanValidation(Boolean config) {
246246
return this;
247247
}
248248

249+
public OpenApiClientGeneratorWrapper withGenerateApis(Boolean config) {
250+
configurator.addAdditionalProperty("generate-apis", config);
251+
return this;
252+
}
253+
254+
public OpenApiClientGeneratorWrapper withGenerateModels(Boolean config) {
255+
configurator.addAdditionalProperty("generate-models", config);
256+
return this;
257+
}
258+
249259
public OpenApiClientGeneratorWrapper withApiNameSuffix(final String apiNameSuffix) {
250260
this.configurator.setApiNameSuffix(apiNameSuffix);
251261
return this;

client/deployment/src/main/java/io/quarkiverse/openapi/generator/deployment/wrapper/QuarkusJavaClientCodegen.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ private void replaceWithQuarkusTemplateFiles() {
7070
supportingFiles.clear();
7171

7272
Boolean enableSecurityGeneration = (Boolean) this.additionalProperties.get("enable-security-generation");
73+
Boolean generateApis = (Boolean) this.additionalProperties.getOrDefault("generate-apis", true);
74+
Boolean generateModels = (Boolean) this.additionalProperties.getOrDefault("generate-models", true);
7375

7476
if (enableSecurityGeneration == null || enableSecurityGeneration) {
7577
if (ProcessUtils.hasHttpBasicMethods(this.openAPI) ||
@@ -92,10 +94,14 @@ private void replaceWithQuarkusTemplateFiles() {
9294
}
9395

9496
apiTemplateFiles.clear();
95-
apiTemplateFiles.put("api.qute", ".java");
97+
if (Boolean.TRUE.equals(generateApis)) {
98+
apiTemplateFiles.put("api.qute", ".java");
99+
}
96100

97101
modelTemplateFiles.clear();
98-
modelTemplateFiles.put("model.qute", ".java");
102+
if (Boolean.TRUE.equals(generateModels)) {
103+
modelTemplateFiles.put("model.qute", ".java");
104+
}
99105
}
100106

101107
public String authFileFolder() {

client/deployment/src/test/java/io/quarkiverse/openapi/generator/deployment/OpenApiConfigValidatorTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ class OpenApiConfigValidatorTest {
1818
"quarkus.openapi-generator.codegen.additional-api-type-annotations",
1919
"quarkus.openapi-generator.codegen.spec.spec_yaml.enable-security-generation",
2020
"quarkus.openapi-generator.codegen.type-mappings.UUID=String",
21-
"quarkus.openapi-generator.codegen.spec.spec_yaml.type-mappings.UUID=String"
21+
"quarkus.openapi-generator.codegen.spec.spec_yaml.type-mappings.UUID=String",
22+
"quarkus.openapi-generator.codegen.spec.spec_yaml.generate-apis=false",
23+
"quarkus.openapi-generator.codegen.spec.spec_yaml.generate-models=false",
2224
})
2325
void test_known_configs_ok(String validConfiguration) {
2426
assertThatCode(() -> OpenApiConfigValidator.validateInputConfiguration(List.of(validConfiguration)))

0 commit comments

Comments
 (0)