This is an automated email from the ASF dual-hosted git repository.
mabin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-toolkit.git
The following commit(s) were added to refs/heads/master by this push:
new 8cfd928 SCB-1456 Fix the plugin bug that throws some exception when
specifying configuration property contractLocation as a file
new ebd754e Merge pull request #23 from kakulisen/fix-plugin-bug
8cfd928 is described below
commit 8cfd9284c85700f7cd8392df76fa359826ff72ff
Author: kakulisen <[email protected]>
AuthorDate: Fri Aug 23 00:30:07 2019 +0800
SCB-1456 Fix the plugin bug that throws some exception when specifying
configuration property contractLocation as a file
Signed-off-by: kakulisen <[email protected]>
---
.../servicecomb/toolkit/plugin/GenerateUtil.java | 35 ++++++++++++++++------
.../toolkit/plugin/GenerateUtilTest.java | 5 ++++
2 files changed, 31 insertions(+), 9 deletions(-)
diff --git
a/toolkit-maven-plugin/src/main/java/org/apache/servicecomb/toolkit/plugin/GenerateUtil.java
b/toolkit-maven-plugin/src/main/java/org/apache/servicecomb/toolkit/plugin/GenerateUtil.java
index 8e075e5..f769a04 100755
---
a/toolkit-maven-plugin/src/main/java/org/apache/servicecomb/toolkit/plugin/GenerateUtil.java
+++
b/toolkit-maven-plugin/src/main/java/org/apache/servicecomb/toolkit/plugin/GenerateUtil.java
@@ -122,16 +122,8 @@ class GenerateUtil {
}
CodegenConfigurator configurator = new CodegenConfigurator();
+ commonConfig(configurator, service);
configurator.setOutputDir(codeOutput)
- .setLang("ServiceComb")
- .setApiPackage(service.getPackageName())
- .setGroupId(service.getGroupId())
- .setArtifactId(service.getArtifactId())
- .setModelPackage(service.getPackageName())
- .setLibrary(service.getProgrammingModel())
- .addAdditionalProperty("mainClassPackage",
service.getPackageName())
- .setArtifactVersion(service.getArtifactVersion())
- .addAdditionalProperty(ProjectMetaConstant.SERVICE_TYPE,
service.getServiceType())
.addAdditionalProperty(GeneratorExternalConfigConstant.PROVIDER_PROJECT_NAME,
file.getParent().getFileName() + providerProjectNameSuffix)
.addAdditionalProperty(GeneratorExternalConfigConstant.CONSUMER_PROJECT_NAME,
@@ -152,10 +144,35 @@ class GenerateUtil {
} else {
CodegenConfigurator configurator = new CodegenConfigurator();
+ commonConfig(configurator, service);
+ configurator.setOutputDir(codeOutput)
+
.addAdditionalProperty(GeneratorExternalConfigConstant.PROVIDER_PROJECT_NAME,
+ contractFile.getParentFile().getName() +
providerProjectNameSuffix)
+
.addAdditionalProperty(GeneratorExternalConfigConstant.CONSUMER_PROJECT_NAME,
+ contractFile.getParentFile().getName() +
consumerProjectNameSuffix)
+
.addAdditionalProperty(GeneratorExternalConfigConstant.MODEL_PROJECT_NAME,
+ contractFile.getParentFile().getName() + modelProjectNameSuffix)
+ .addAdditionalProperty("apiName",
contractFile.getName().split("\\.")[0])
+ .addAdditionalProperty("microserviceName",
contractFile.getParentFile().getName());
+
configurator.setInputSpec(contractLocation);
Objects.requireNonNull(codeGenerator)
.configure(Collections.singletonMap("configurators",
Collections.singletonList(configurator)));
codeGenerator.generate();
}
}
+
+ private static void commonConfig(CodegenConfigurator configurator,
ServiceConfig service) {
+
+ configurator
+ .setLang("ServiceComb")
+ .setApiPackage(service.getPackageName())
+ .setGroupId(service.getGroupId())
+ .setArtifactId(service.getArtifactId())
+ .setModelPackage(service.getPackageName())
+ .setLibrary(service.getProgrammingModel())
+ .addAdditionalProperty("mainClassPackage", service.getPackageName())
+ .setArtifactVersion(service.getArtifactVersion())
+ .addAdditionalProperty(ProjectMetaConstant.SERVICE_TYPE,
service.getServiceType());
+ }
}
diff --git
a/toolkit-maven-plugin/src/test/java/org/apache/servicecomb/toolkit/plugin/GenerateUtilTest.java
b/toolkit-maven-plugin/src/test/java/org/apache/servicecomb/toolkit/plugin/GenerateUtilTest.java
index 49e8f5b..fcfb554 100755
---
a/toolkit-maven-plugin/src/test/java/org/apache/servicecomb/toolkit/plugin/GenerateUtilTest.java
+++
b/toolkit-maven-plugin/src/test/java/org/apache/servicecomb/toolkit/plugin/GenerateUtilTest.java
@@ -84,6 +84,11 @@ public class GenerateUtilTest {
} catch (RuntimeException e) {
assertEquals("Cannot found code generator's implementation",
e.getMessage());
}
+
+ // Test the scenario where the configuration property contractLocation is
specified as a file
+ generateCode(service, contractLocation + File.separator +
"HelloEndPoint.yaml", projectOutput,
+ Collections.EMPTY_MAP, "default");
+ assertNotEquals(0, Objects.requireNonNull(new
File(projectOutput).listFiles()).length);
}
@Test