X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=code-generator%2Fmaven-sal-api-gen-plugin%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fmaven%2Fsal%2Fapi%2Fgen%2Fplugin%2FCodeGeneratorImpl.java;fp=code-generator%2Fmaven-sal-api-gen-plugin%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fmaven%2Fsal%2Fapi%2Fgen%2Fplugin%2FCodeGeneratorImpl.java;h=a2b60e89d3454151f4388e8a2c3d73f9893d22f6;hb=96410028446507d98be2248be0c2598d8316c5c5;hp=60eba385e63d410d3bc77ac986fffdb7754f059a;hpb=229eb992103fba09508d1136fd48c18cd46182dd;p=mdsal.git diff --git a/code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/yangtools/maven/sal/api/gen/plugin/CodeGeneratorImpl.java b/code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/yangtools/maven/sal/api/gen/plugin/CodeGeneratorImpl.java index 60eba385e6..a2b60e89d3 100644 --- a/code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/yangtools/maven/sal/api/gen/plugin/CodeGeneratorImpl.java +++ b/code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/yangtools/maven/sal/api/gen/plugin/CodeGeneratorImpl.java @@ -7,17 +7,10 @@ */ package org.opendaylight.yangtools.maven.sal.api.gen.plugin; -import java.io.BufferedWriter; -import java.io.File; -import java.io.IOException; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.Writer; -import java.util.Collection; -import java.util.List; -import java.util.Map; -import java.util.Set; - +import com.google.common.base.Joiner; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.ImmutableSet.Builder; import org.apache.maven.plugin.logging.Log; import org.apache.maven.project.MavenProject; import org.opendaylight.yangtools.binding.generator.util.BindingGeneratorUtil; @@ -36,10 +29,16 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.sonatype.plexus.build.incremental.BuildContext; -import com.google.common.base.Joiner; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.ImmutableSet.Builder; +import java.io.BufferedWriter; +import java.io.File; +import java.io.IOException; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Set; public final class CodeGeneratorImpl implements CodeGenerator, BuildContextAware { private static final String FS = File.separator; @@ -80,11 +79,17 @@ public final class CodeGeneratorImpl implements CodeGenerator, BuildContextAware } private Collection generateModuleInfos(File outputBaseDir, Set yangModules, - SchemaContext context) { + SchemaContext context) { Builder result = ImmutableSet.builder(); Builder bindingProviders = ImmutableSet.builder(); for (Module module : yangModules) { - result.addAll(generateYangModuleInfo(outputBaseDir, module, context, bindingProviders)); + Builder currentProvidersBuilder = ImmutableSet.builder(); + // TODO: do not mutate parameters, output of a method is defined by its return value + Set moduleInfoProviders = generateYangModuleInfo(outputBaseDir, module, context, currentProvidersBuilder); + ImmutableSet currentProviders = currentProvidersBuilder.build(); + logger.info("Adding ModuleInfo providers {}", currentProviders); + bindingProviders.addAll(currentProviders); + result.addAll(moduleInfoProviders); } result.add(writeMetaInfServices(resourceBaseDir, YangModelBindingProvider.class, bindingProviders.build()));