Add openapi.yaml file to Java clients (#5765)

* Add openapi.yaml file to Java client

* Move supporting template file to Java root

* Update petstore clients
This commit is contained in:
Nicholas Muesch
2020-04-07 04:07:08 -04:00
committed by GitHub
parent 5fd724fceb
commit 7efa65164a
26 changed files with 50223 additions and 3 deletions

View File

@@ -293,6 +293,8 @@ public class JavaClientCodegen extends AbstractJavaCodegen
supportingFiles.add(new SupportingFile("ApiClient.mustache", invokerFolder, "ApiClient.java"));
supportingFiles.add(new SupportingFile("ServerConfiguration.mustache", invokerFolder, "ServerConfiguration.java"));
supportingFiles.add(new SupportingFile("ServerVariable.mustache", invokerFolder, "ServerVariable.java"));
supportingFiles.add(new SupportingFile("openapi.mustache", "api", "openapi.yaml"));
if (!(RESTTEMPLATE.equals(getLibrary()) || REST_ASSURED.equals(getLibrary()) || NATIVE.equals(getLibrary()) || MICROPROFILE.equals(getLibrary()))) {
supportingFiles.add(new SupportingFile("StringUtil.mustache", invokerFolder, "StringUtil.java"));
@@ -883,6 +885,12 @@ public class JavaClientCodegen extends AbstractJavaCodegen
return mime != null && JSON_VENDOR_MIME_PATTERN.matcher(mime).matches();
}
@Override
public Map<String, Object> postProcessSupportingFileData(Map<String, Object> objs) {
generateYAMLSpecFile(objs);
return super.postProcessSupportingFileData(objs);
}
@Override
public String toApiVarName(String name) {
String apiVarName = super.toApiVarName(name);

View File

@@ -0,0 +1 @@
{{{openapi-yaml}}}

View File

@@ -267,7 +267,7 @@ public class JavaClientCodegenTest {
generator.opts(clientOptInput).generate();
Map<String, String> generatedFiles = generator.getFiles();
Assert.assertEquals(generatedFiles.size(), 36);
Assert.assertEquals(generatedFiles.size(), 37);
TestUtils.ensureContainsFile(generatedFiles, output, ".gitignore");
TestUtils.ensureContainsFile(generatedFiles, output, ".openapi-generator-ignore");
TestUtils.ensureContainsFile(generatedFiles, output, ".openapi-generator/VERSION");
@@ -284,6 +284,7 @@ public class JavaClientCodegenTest {
TestUtils.ensureContainsFile(generatedFiles, output, "pom.xml");
TestUtils.ensureContainsFile(generatedFiles, output, "README.md");
TestUtils.ensureContainsFile(generatedFiles, output, "settings.gradle");
TestUtils.ensureContainsFile(generatedFiles, output, "api/openapi.yaml");
TestUtils.ensureContainsFile(generatedFiles, output, "src/main/AndroidManifest.xml");
TestUtils.ensureContainsFile(generatedFiles, output, "src/main/java/xyz/abcdef/api/DefaultApi.java");
TestUtils.ensureContainsFile(generatedFiles, output, "src/main/java/xyz/abcdef/ApiCallback.java");
@@ -342,7 +343,7 @@ public class JavaClientCodegenTest {
generator.opts(clientOptInput).generate();
Map<String, String> generatedFiles = generator.getFiles();
Assert.assertEquals(generatedFiles.size(), 39);
Assert.assertEquals(generatedFiles.size(), 40);
TestUtils.ensureContainsFile(generatedFiles, output, ".gitignore");
TestUtils.ensureContainsFile(generatedFiles, output, ".openapi-generator-ignore");
TestUtils.ensureContainsFile(generatedFiles, output, ".openapi-generator/VERSION");
@@ -360,6 +361,7 @@ public class JavaClientCodegenTest {
TestUtils.ensureContainsFile(generatedFiles, output, "pom.xml");
TestUtils.ensureContainsFile(generatedFiles, output, "README.md");
TestUtils.ensureContainsFile(generatedFiles, output, "settings.gradle");
TestUtils.ensureContainsFile(generatedFiles, output, "api/openapi.yaml");
TestUtils.ensureContainsFile(generatedFiles, output, "src/main/AndroidManifest.xml");
TestUtils.ensureContainsFile(generatedFiles, output, "src/main/java/zz/yyyy/api/xxxx/PingApi.java");
TestUtils.ensureContainsFile(generatedFiles, output, "src/main/java/zz/yyyy/invoker/xxxx/ApiCallback.java");
@@ -414,7 +416,7 @@ public class JavaClientCodegenTest {
generator.opts(clientOptInput).generate();
Map<String, String> generatedFiles = generator.getFiles();
Assert.assertEquals(generatedFiles.size(), 25);
Assert.assertEquals(generatedFiles.size(), 26);
validateJavaSourceFiles(generatedFiles);
String defaultApiFilename = new File(output, "src/main/java/xyz/abcdef/api/DefaultApi.java").getAbsolutePath().replace("\\", "/");

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff