X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fmaven-yang-plugin%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fyang2sources%2Fplugin%2FYangToSourcesMojo.java;h=41f3ae4a65a5f45e2e64f87b6a4ba9cddaf14c3c;hb=be6d2cfbf462fc44301309b872ca8eeae6e2eb97;hp=e124c56c47f8c7ddae2163f2c584af370f2fa8ae;hpb=80a0c36174fc0c494ccda1893d81936a2d1ba598;p=controller.git diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/YangToSourcesMojo.java b/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/YangToSourcesMojo.java index e124c56c47..41f3ae4a65 100644 --- a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/YangToSourcesMojo.java +++ b/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/YangToSourcesMojo.java @@ -8,6 +8,7 @@ package org.opendaylight.controller.yang2sources.plugin; import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.Map; @@ -44,7 +45,7 @@ import com.google.common.collect.Maps; * * */ -@Mojo(name = "generate-sources", defaultPhase = LifecyclePhase.GENERATE_SOURCES,requiresDependencyResolution=ResolutionScope.COMPILE,requiresProject=true) +@Mojo(name = "generate-sources", defaultPhase = LifecyclePhase.GENERATE_SOURCES, requiresDependencyResolution = ResolutionScope.COMPILE, requiresProject = true) public final class YangToSourcesMojo extends AbstractMojo { private static final String LOG_PREFIX = "yang-to-sources:"; @@ -65,11 +66,9 @@ public final class YangToSourcesMojo extends AbstractMojo { @Parameter(required = true) private String yangFilesRootDir; - @Parameter(property = "project", required = true, readonly = true) protected MavenProject project; - private transient final YangModelParser parser; @VisibleForTesting @@ -98,15 +97,16 @@ public final class YangToSourcesMojo extends AbstractMojo { private SchemaContext processYang() throws MojoExecutionException { try { Collection yangFiles = Util.listFiles(yangFilesRootDir); - + if (yangFiles.isEmpty()) { getLog().warn( Util.message("No %s file found in %s", LOG_PREFIX, Util.YANG_SUFFIX, yangFilesRootDir)); return null; - } - - Set parsedYang = parser.parseYangModels(new ArrayList(yangFiles)); + } + + Set parsedYang = parser + .parseYangModels(new ArrayList(yangFiles)); SchemaContext resolveSchemaContext = parser .resolveSchemaContext(parsedYang); getLog().info( @@ -168,7 +168,7 @@ public final class YangToSourcesMojo extends AbstractMojo { */ private void generateSourcesWithOneGenerator(SchemaContext context, CodeGeneratorArg codeGeneratorCfg) throws ClassNotFoundException, - InstantiationException, IllegalAccessException { + InstantiationException, IllegalAccessException, IOException { codeGeneratorCfg.check(); @@ -179,9 +179,10 @@ public final class YangToSourcesMojo extends AbstractMojo { codeGeneratorCfg.getCodeGeneratorClass())); File outputDir = codeGeneratorCfg.getOutputBaseDir(); - project.addCompileSourceRoot(outputDir.getPath()); - Collection generated = g.generateSources(context, - outputDir); + if (project != null && outputDir != null) { + project.addCompileSourceRoot(outputDir.getPath()); + } + Collection generated = g.generateSources(context, outputDir); getLog().info( Util.message("Sources generated by %s: %s", LOG_PREFIX, codeGeneratorCfg.getCodeGeneratorClass(), generated));