Better logging for codegen's generateModuleInfos 96/5596/1
authorTomas Olvecky <tolvecky@cisco.com>
Tue, 11 Mar 2014 12:39:41 +0000 (13:39 +0100)
committerTomas Olvecky <tolvecky@cisco.com>
Tue, 11 Mar 2014 12:39:41 +0000 (13:39 +0100)
Change-Id: I14798f5f7caf9324344351141751be0001ef3a83
Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
code-generator/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/yangtools/maven/sal/api/gen/plugin/CodeGeneratorImpl.java

index 60eba385e63d410d3bc77ac986fffdb7754f059a..a2b60e89d3454151f4388e8a2c3d73f9893d22f6 100644 (file)
@@ -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<? extends File> generateModuleInfos(File outputBaseDir, Set<Module> yangModules,
-            SchemaContext context) {
+                                                           SchemaContext context) {
         Builder<File> result = ImmutableSet.builder();
         Builder<String> bindingProviders = ImmutableSet.builder();
         for (Module module : yangModules) {
-            result.addAll(generateYangModuleInfo(outputBaseDir, module, context, bindingProviders));
+            Builder<String> currentProvidersBuilder = ImmutableSet.builder();
+            // TODO: do not mutate parameters, output of a method is defined by its return value
+            Set<File> moduleInfoProviders = generateYangModuleInfo(outputBaseDir, module, context, currentProvidersBuilder);
+            ImmutableSet<String> currentProviders = currentProvidersBuilder.build();
+            logger.info("Adding ModuleInfo providers {}", currentProviders);
+            bindingProviders.addAll(currentProviders);
+            result.addAll(moduleInfoProviders);
         }
 
         result.add(writeMetaInfServices(resourceBaseDir, YangModelBindingProvider.class, bindingProviders.build()));