in codegen/src/main/java/org/apache/servicecomb/toolkit/codegen/MultiContractGenerator.java [61:90]
public List<File> generate() {
if (optsList == null || optsList.size() == 0) {
return null;
}
List<File> fileList = new ArrayList<>();
List<Map<String, Object>> modules = new ArrayList<>();
Set<Object> moduleSet = new HashSet<>();
for (ClientOptInput opts : optsList) {
moduleSet.add(opts.getConfig().additionalProperties().get(GeneratorExternalConfigConstant.PROVIDER_PROJECT_NAME));
moduleSet.add(opts.getConfig().additionalProperties().get(GeneratorExternalConfigConstant.CONSUMER_PROJECT_NAME));
moduleSet.add(opts.getConfig().additionalProperties().get(GeneratorExternalConfigConstant.MODEL_PROJECT_NAME));
this.opts(opts);
fileList.addAll(super.generate());
}
moduleSet.forEach(module -> {
modules.add(Collections.singletonMap("module", module));
});
if (ServiceType.ALL.getValue().equals(
Optional.ofNullable(opts.getConfig().additionalProperties().get(ProjectMetaConstant.SERVICE_TYPE))
.orElse(ServiceType.ALL.getValue()))) {
generateParentProject(fileList, modules);
}
return fileList;
}