public List generate()

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;
  }