From 0ece65751fc4a88f949e24b476edae120947a959 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 5 Jun 2017 20:57:47 +0200 Subject: [PATCH] Enforce checkstyle in maven-plugin Simple fixes to code and flip the switch. Change-Id: I06bdd3d3e49c503c390a8cb46ecfeaa8fdf405d8 Signed-off-by: Robert Varga --- yang/yang-maven-plugin-spi/pom.xml | 7 +++++++ .../yang2sources/spi/BasicCodeGenerator.java | 13 ++++-------- .../yang2sources/spi/MavenProjectAware.java | 2 -- yang/yang-maven-plugin/pom.xml | 7 +++++++ .../yang2sources/plugin/ConfigArg.java | 2 +- .../plugin/GeneratedDirectories.java | 2 +- .../yangtools/yang2sources/plugin/Util.java | 20 +++++++++---------- .../plugin/YangSourceFromFile.java | 2 +- .../plugin/YangToSourcesMojo.java | 13 ++++++------ .../plugin/YangToSourcesProcessor.java | 18 +++++++++-------- .../plugin/GenerateSourcesTest.java | 4 ++-- .../plugin/YangSourceInZipFileTest.java | 2 +- .../plugin/YangToSourcesMojoTest.java | 2 +- .../plugin/YangToSourcesProcessorTest.java | 2 +- 14 files changed, 52 insertions(+), 44 deletions(-) diff --git a/yang/yang-maven-plugin-spi/pom.xml b/yang/yang-maven-plugin-spi/pom.xml index 44ea54af98..a9e7ed2d0c 100644 --- a/yang/yang-maven-plugin-spi/pom.xml +++ b/yang/yang-maven-plugin-spi/pom.xml @@ -62,6 +62,13 @@ + + org.apache.maven.plugins + maven-checkstyle-plugin + + checkstyle.violationSeverity=error + + org.apache.maven.plugins maven-jar-plugin diff --git a/yang/yang-maven-plugin-spi/src/main/java/org/opendaylight/yangtools/yang2sources/spi/BasicCodeGenerator.java b/yang/yang-maven-plugin-spi/src/main/java/org/opendaylight/yangtools/yang2sources/spi/BasicCodeGenerator.java index ed95d919ce..c50f176cd4 100644 --- a/yang/yang-maven-plugin-spi/src/main/java/org/opendaylight/yangtools/yang2sources/spi/BasicCodeGenerator.java +++ b/yang/yang-maven-plugin-spi/src/main/java/org/opendaylight/yangtools/yang2sources/spi/BasicCodeGenerator.java @@ -23,7 +23,7 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext; */ public interface BasicCodeGenerator { /** - * Generate sources from provided {@link SchemaContext} + * Generate sources from provided {@link SchemaContext}. * * @param context * parsed from YANG files @@ -42,7 +42,7 @@ public interface BasicCodeGenerator { throws IOException; /** - * Generate sources from provided {@link SchemaContext} + * Generate sources from provided {@link SchemaContext}. * * @param context * parsed from YANG files @@ -54,7 +54,6 @@ public interface BasicCodeGenerator { * @param moduleResourcePathResolver * Function converting a local module to the packaged resource path * @return collection of files that were generated from schema context - * @throws IOException */ default Collection generateSources(final SchemaContext context, final File outputBaseDir, final Set currentModules, @@ -64,17 +63,13 @@ public interface BasicCodeGenerator { /** * Provided map contains all configuration that was set in pom for code - * generator in additionalConfiguration tag - * - * @param additionalConfiguration + * generator in additionalConfiguration tag. */ void setAdditionalConfig(Map additionalConfiguration); /** * Provided folder is marked as resources and its content will be packaged - * in resulting jar. Feel free to add necessary resources - * - * @param resourceBaseDir + * in resulting jar. Feel free to add necessary resources. */ void setResourceBaseDir(File resourceBaseDir); } diff --git a/yang/yang-maven-plugin-spi/src/main/java/org/opendaylight/yangtools/yang2sources/spi/MavenProjectAware.java b/yang/yang-maven-plugin-spi/src/main/java/org/opendaylight/yangtools/yang2sources/spi/MavenProjectAware.java index 602f78f04c..2787ed5b6c 100644 --- a/yang/yang-maven-plugin-spi/src/main/java/org/opendaylight/yangtools/yang2sources/spi/MavenProjectAware.java +++ b/yang/yang-maven-plugin-spi/src/main/java/org/opendaylight/yangtools/yang2sources/spi/MavenProjectAware.java @@ -16,8 +16,6 @@ public interface MavenProjectAware { /** * Provided maven project object. Any additional information about current * maven project can be accessed from it. - * - * @param project */ void setMavenProject(MavenProject project); } diff --git a/yang/yang-maven-plugin/pom.xml b/yang/yang-maven-plugin/pom.xml index be9a03602a..c95023a0e7 100644 --- a/yang/yang-maven-plugin/pom.xml +++ b/yang/yang-maven-plugin/pom.xml @@ -140,6 +140,13 @@ + + org.apache.maven.plugins + maven-checkstyle-plugin + + checkstyle.violationSeverity=error + + diff --git a/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/ConfigArg.java b/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/ConfigArg.java index 341f2d47a6..0e8615a928 100644 --- a/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/ConfigArg.java +++ b/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/ConfigArg.java @@ -14,7 +14,7 @@ import java.util.Map; import org.apache.maven.project.MavenProject; /** - * Base complex configuration arguments + * Base complex configuration arguments. */ public abstract class ConfigArg { diff --git a/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/GeneratedDirectories.java b/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/GeneratedDirectories.java index 5fc303bfe9..49371248d6 100644 --- a/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/GeneratedDirectories.java +++ b/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/GeneratedDirectories.java @@ -21,7 +21,7 @@ class GeneratedDirectories { private final File targetGeneratedSources; - public GeneratedDirectories(MavenProject project) { + GeneratedDirectories(MavenProject project) { this.targetGeneratedSources = new File(project.getBuild().getDirectory(), "generated-sources"); } diff --git a/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/Util.java b/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/Util.java index 28cb24d0dc..000ba17b03 100644 --- a/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/Util.java +++ b/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/Util.java @@ -45,7 +45,7 @@ import org.slf4j.LoggerFactory; final class Util { /** - * It isn't desirable to create instances of this class + * It isn't desirable to create instances of this class. */ private Util() { } @@ -54,7 +54,8 @@ final class Util { private static final Logger LOG = LoggerFactory.getLogger(Util.class); - static Collection listFiles(final File root, final Collection excludedFiles) throws FileNotFoundException { + static Collection listFiles(final File root, final Collection excludedFiles) + throws FileNotFoundException { if (!root.exists()) { LOG.warn("{} YANG source directory {} not found. No code will be generated.", YangToSourcesProcessor .LOG_PREFIX, root.toString()); @@ -168,8 +169,8 @@ final class Util { if (artifact.getGroupId().equals(d.getGroupId()) && artifact.getArtifactId().equals(d.getArtifactId())) { if (!(artifact.getVersion().equals(d.getVersion()))) { LOG.warn("{} Dependency resolution conflict:", YangToSourcesProcessor.LOG_PREFIX); - LOG.warn("{} '{}' dependency [{}] has different version than one declared in current project [{}]" + - ". It is recommended to fix this problem because it may cause compilation errors.", + LOG.warn("{} '{}' dependency [{}] has different version than one declared in current project [{}]" + + ". It is recommended to fix this problem because it may cause compilation errors.", YangToSourcesProcessor.LOG_PREFIX, YangToSourcesMojo.PLUGIN_NAME, artifact, d); } } @@ -204,6 +205,7 @@ final class Util { } } + @SuppressWarnings("checkstyle:illegalCatch") static YangsInZipsResult findYangFilesInDependenciesAsStream(final MavenProject project) throws MojoFailureException { List yangsFromDependencies = new ArrayList<>(); @@ -256,16 +258,12 @@ final class Util { } /** - * Find all dependencies which contains yang sources - * + * Find all dependencies which contains yang sources. * Returns collection of YANG files and Zip files which contains YANG files. * - * FIXME: Rename to what class is actually doing. - * - * @param project - * @return - * @throws MojoFailureException */ + // FIXME: Rename to what class is actually doing. + @SuppressWarnings("checkstyle:illegalCatch") static Collection findYangFilesInDependencies(final MavenProject project) throws MojoFailureException { final List yangsFilesFromDependencies = new ArrayList<>(); diff --git a/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangSourceFromFile.java b/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangSourceFromFile.java index 4f4992790f..523ae55d61 100644 --- a/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangSourceFromFile.java +++ b/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangSourceFromFile.java @@ -17,7 +17,7 @@ class YangSourceFromFile extends YangSourceFromDependency { private final File source; - public YangSourceFromFile(File source) { + YangSourceFromFile(File source) { this.source = Preconditions.checkNotNull(source); } diff --git a/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesMojo.java b/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesMojo.java index 6e38aa0444..311acc5495 100644 --- a/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesMojo.java +++ b/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesMojo.java @@ -45,7 +45,8 @@ import org.sonatype.plexus.build.incremental.BuildContext; * * */ -@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 { public static final String PLUGIN_NAME = "org.opendaylight.yangtools:yang-maven-plugin"; @@ -82,15 +83,15 @@ public final class YangToSourcesMojo extends AbstractMojo { @Component private RepositorySystem repoSystem; - @Parameter( readonly = true, defaultValue = "${localRepository}" ) + @Parameter(readonly = true, defaultValue = "${localRepository}") private ArtifactRepository localRepository; - @Parameter( readonly = true, defaultValue = "${project.remoteArtifactRepositories}" ) + @Parameter(readonly = true, defaultValue = "${project.remoteArtifactRepositories}") private List remoteRepos; // When set to "true", then the execution of the plugin is disabled - @Parameter( property = "yang.skip" ) - private String yang_skip; + @Parameter(property = "yang.skip") + private String yangSkip; public YangToSourcesMojo() { } @@ -118,7 +119,7 @@ public final class YangToSourcesMojo extends AbstractMojo { yangToSourcesProcessor = new YangToSourcesProcessor(buildContext, yangFilesRootFile, excludedFiles, codeGeneratorArgs, project, inspectDependencies); } - yangToSourcesProcessor.conditionalExecute("true".equals(yang_skip)); + yangToSourcesProcessor.conditionalExecute("true".equals(yangSkip)); } private static List processCodeGenerators(final CodeGeneratorArg[] codeGenerators) { diff --git a/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesProcessor.java b/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesProcessor.java index 3389404a80..bb820517da 100644 --- a/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesProcessor.java +++ b/yang/yang-maven-plugin/src/main/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesProcessor.java @@ -118,6 +118,7 @@ class YangToSourcesProcessor { } } + @SuppressWarnings("checkstyle:illegalCatch") private ContextHolder processYang() throws MojoExecutionException { SchemaContext resolveSchemaContext; List closeables = new ArrayList<>(); @@ -220,8 +221,8 @@ class YangToSourcesProcessor { } catch (Exception e) { LOG.error("{} Unable to parse {} files from {}", LOG_PREFIX, Util.YANG_SUFFIX, yangFilesRootDir, e); Throwable rootCause = Throwables.getRootCause(e); - throw new MojoExecutionException(LOG_PREFIX + " Unable to parse " + Util.YANG_SUFFIX + " files from " + - yangFilesRootDir, rootCause); + throw new MojoExecutionException(LOG_PREFIX + " Unable to parse " + Util.YANG_SUFFIX + " files from " + + yangFilesRootDir, rootCause); } } @@ -261,8 +262,9 @@ class YangToSourcesProcessor { } /** - * Call generate on every generator from plugin configuration + * Call generate on every generator from plugin configuration. */ + @SuppressWarnings("checkstyle:illegalCatch") private void generateSources(final ContextHolder context) throws MojoFailureException { if (codeGenerators.size() == 0) { LOG.warn("{} No code generators provided", LOG_PREFIX); @@ -289,21 +291,21 @@ class YangToSourcesProcessor { } /** - * Instantiate generator from class and call required method + * Instantiate generator from class and call required method. */ private void generateSourcesWithOneGenerator(final ContextHolder context, final CodeGeneratorArg codeGeneratorCfg) throws ClassNotFoundException, InstantiationException, IllegalAccessException, IOException { codeGeneratorCfg.check(); - BasicCodeGenerator g = getInstance(codeGeneratorCfg.getCodeGeneratorClass(), BasicCodeGenerator.class); + final BasicCodeGenerator g = getInstance(codeGeneratorCfg.getCodeGeneratorClass(), BasicCodeGenerator.class); LOG.info("{} Code generator instantiated from {}", LOG_PREFIX, codeGeneratorCfg.getCodeGeneratorClass()); final File outputDir = codeGeneratorCfg.getOutputBaseDir(project); if (outputDir == null) { - throw new NullPointerException("outputBaseDir is null. Please provide a valid outputBaseDir value in the " + - "pom.xml"); + throw new NullPointerException("outputBaseDir is null. Please provide a valid outputBaseDir value in the " + + "pom.xml"); } project.addCompileSourceRoot(outputDir.getAbsolutePath()); @@ -337,7 +339,7 @@ class YangToSourcesProcessor { } /** - * Instantiate object from fully qualified class name + * Instantiate object from fully qualified class name. */ private static T getInstance(final String codeGeneratorClass, final Class baseType) throws ClassNotFoundException, InstantiationException, IllegalAccessException { diff --git a/yang/yang-maven-plugin/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/GenerateSourcesTest.java b/yang/yang-maven-plugin/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/GenerateSourcesTest.java index e53c53d6b1..17f5074f49 100644 --- a/yang/yang-maven-plugin/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/GenerateSourcesTest.java +++ b/yang/yang-maven-plugin/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/GenerateSourcesTest.java @@ -93,8 +93,8 @@ public class GenerateSourcesTest { private static MavenProject project; @Override - public Collection generateSources(final SchemaContext context, final File outputBaseDir, final Set currentModules) - throws IOException { + public Collection generateSources(final SchemaContext context, final File outputBaseDir, + final Set currentModules) throws IOException { called++; outputDir = outputBaseDir; return Lists.newArrayList(); diff --git a/yang/yang-maven-plugin/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/YangSourceInZipFileTest.java b/yang/yang-maven-plugin/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/YangSourceInZipFileTest.java index 856c145f3a..d0e65d5125 100644 --- a/yang/yang-maven-plugin/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/YangSourceInZipFileTest.java +++ b/yang/yang-maven-plugin/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/YangSourceInZipFileTest.java @@ -23,7 +23,7 @@ public class YangSourceInZipFileTest { public void yangSourceInZipFileTest() throws Exception { final ZipFile file = Mockito.mock(ZipFile.class); final ZipEntry entry = Mockito.mock(ZipEntry.class); - Mockito.when(entry.getSize()).thenReturn(519l); + Mockito.when(entry.getSize()).thenReturn(519L); final InputStream inputStream = Mockito.mock(InputStream.class); Mockito.when(file.getInputStream(entry)).thenReturn(inputStream); final YangSourceInZipFile yangSource = new YangSourceInZipFile(file, entry); diff --git a/yang/yang-maven-plugin/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesMojoTest.java b/yang/yang-maven-plugin/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesMojoTest.java index 9e435e5d00..df7cce503d 100644 --- a/yang/yang-maven-plugin/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesMojoTest.java +++ b/yang/yang-maven-plugin/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesMojoTest.java @@ -37,7 +37,7 @@ public class YangToSourcesMojoTest { private YangToSourcesProcessor proc; @Test - public void yangToSourceMojoTest() throws Exception{ + public void yangToSourceMojoTest() throws Exception { Mockito.when(this.project.getPlugin(YangToSourcesMojo.PLUGIN_NAME)).thenReturn(this.plugin); this.mojo = new YangToSourcesMojo(); diff --git a/yang/yang-maven-plugin/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesProcessorTest.java b/yang/yang-maven-plugin/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesProcessorTest.java index 089ddd5d79..93c6497284 100644 --- a/yang/yang-maven-plugin/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesProcessorTest.java +++ b/yang/yang-maven-plugin/src/test/java/org/opendaylight/yangtools/yang2sources/plugin/YangToSourcesProcessorTest.java @@ -30,7 +30,7 @@ public class YangToSourcesProcessorTest { private final YangProvider inspectDependencies = Mockito.mock(YangProvider.class); @Test - public void yangToSourcesProcessotTest(){ + public void yangToSourcesProcessotTest() { Mockito.when(this.buildContext.getPath()).thenReturn("path"); YangToSourcesProcessor processor = new YangToSourcesProcessor(buildContext, yangFilesRootDir, ImmutableList.of(), project, dep, inspectDependencies); -- 2.36.6