ACCUMULO-4121 Fix plugin IT due to rat changes * Update and fix the accumulo-maven-plugin and corresponding tests
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/95f5affb Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/95f5affb Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/95f5affb Branch: refs/heads/master Commit: 95f5affb8abe64ceeb320fdb53469eeae564955e Parents: fbd2faf Author: Christopher Tubbs <ctubb...@apache.org> Authored: Wed Feb 3 16:46:24 2016 -0500 Committer: Christopher Tubbs <ctubb...@apache.org> Committed: Wed Feb 3 16:46:24 2016 -0500 ---------------------------------------------------------------------- maven-plugin/.gitignore | 2 -- maven-plugin/pom.xml | 3 ++- maven-plugin/src/it/plugin-test/pom.xml | 7 +++++++ .../maven/plugin/AbstractAccumuloMojo.java | 14 ++++++++++++-- .../apache/accumulo/maven/plugin/StartMojo.java | 20 +++++++++++++++----- .../apache/accumulo/maven/plugin/StopMojo.java | 6 +++++- pom.xml | 2 +- 7 files changed, 42 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/95f5affb/maven-plugin/.gitignore ---------------------------------------------------------------------- diff --git a/maven-plugin/.gitignore b/maven-plugin/.gitignore index 0a396d4..e77a822 100644 --- a/maven-plugin/.gitignore +++ b/maven-plugin/.gitignore @@ -23,8 +23,6 @@ /.pydevproject /.idea /*.iml -/target/ /nbproject/ /nbactions.xml /nb-configuration.xml - http://git-wip-us.apache.org/repos/asf/accumulo/blob/95f5affb/maven-plugin/pom.xml ---------------------------------------------------------------------- diff --git a/maven-plugin/pom.xml b/maven-plugin/pom.xml index 1b9827a..34a55a7 100644 --- a/maven-plugin/pom.xml +++ b/maven-plugin/pom.xml @@ -87,8 +87,9 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-invoker-plugin</artifactId> <configuration> - <noLog>true</noLog> + <cloneClean>true</cloneClean> <cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo> + <debug>true</debug> <pomIncludes> <pomInclude>*/pom.xml</pomInclude> </pomIncludes> http://git-wip-us.apache.org/repos/asf/accumulo/blob/95f5affb/maven-plugin/src/it/plugin-test/pom.xml ---------------------------------------------------------------------- diff --git a/maven-plugin/src/it/plugin-test/pom.xml b/maven-plugin/src/it/plugin-test/pom.xml index 7654c96..2eb8626 100644 --- a/maven-plugin/src/it/plugin-test/pom.xml +++ b/maven-plugin/src/it/plugin-test/pom.xml @@ -113,6 +113,13 @@ </execution> </executions> </plugin> + <plugin> + <groupId>org.apache.rat</groupId> + <artifactId>apache-rat-plugin</artifactId> + <configuration> + <skip>true</skip> + </configuration> + </plugin> </plugins> </build> </project> http://git-wip-us.apache.org/repos/asf/accumulo/blob/95f5affb/maven-plugin/src/main/java/org/apache/accumulo/maven/plugin/AbstractAccumuloMojo.java ---------------------------------------------------------------------- diff --git a/maven-plugin/src/main/java/org/apache/accumulo/maven/plugin/AbstractAccumuloMojo.java b/maven-plugin/src/main/java/org/apache/accumulo/maven/plugin/AbstractAccumuloMojo.java index 5e6a905..2028a2e 100644 --- a/maven-plugin/src/main/java/org/apache/accumulo/maven/plugin/AbstractAccumuloMojo.java +++ b/maven-plugin/src/main/java/org/apache/accumulo/maven/plugin/AbstractAccumuloMojo.java @@ -24,14 +24,24 @@ import java.util.Arrays; import org.apache.accumulo.minicluster.impl.MiniAccumuloConfigImpl; import org.apache.maven.artifact.Artifact; import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugins.annotations.Component; +import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.project.MavenProject; public abstract class AbstractAccumuloMojo extends AbstractMojo { - @Component + @Parameter(defaultValue = "${project}", readonly = true) private MavenProject project; + @Parameter(defaultValue = "false", alias = "skip", property = "accumulo.skip", required = true) + private boolean skip; + + protected boolean shouldSkip() { + if (skip) { + getLog().info("Skipping execution of accumulo-maven-plugin"); + } + return skip; + } + void configureMiniClasspath(MiniAccumuloConfigImpl macConfig, String miniClasspath) throws MalformedURLException { ArrayList<String> classpathItems = new ArrayList<String>(); if (miniClasspath == null && project != null) { http://git-wip-us.apache.org/repos/asf/accumulo/blob/95f5affb/maven-plugin/src/main/java/org/apache/accumulo/maven/plugin/StartMojo.java ---------------------------------------------------------------------- diff --git a/maven-plugin/src/main/java/org/apache/accumulo/maven/plugin/StartMojo.java b/maven-plugin/src/main/java/org/apache/accumulo/maven/plugin/StartMojo.java index 42d4145..16b9dae 100644 --- a/maven-plugin/src/main/java/org/apache/accumulo/maven/plugin/StartMojo.java +++ b/maven-plugin/src/main/java/org/apache/accumulo/maven/plugin/StartMojo.java @@ -17,6 +17,7 @@ package org.apache.accumulo.maven.plugin; import java.io.File; +import java.io.IOException; import java.util.Collections; import java.util.HashSet; import java.util.Set; @@ -39,33 +40,42 @@ import org.apache.maven.plugins.annotations.ResolutionScope; @Mojo(name = "start", defaultPhase = LifecyclePhase.PRE_INTEGRATION_TEST, requiresDependencyResolution = ResolutionScope.TEST) public class StartMojo extends AbstractAccumuloMojo { - @Parameter(defaultValue = "${project.build.directory}", property = "outputDir", required = true) + @Parameter(defaultValue = "${project.build.directory}", alias = "outputDirectory", property = "accumulo.outputDirectory", required = true) private File outputDirectory; - @Parameter(defaultValue = "testInstance", property = "instanceName", required = true) + @Parameter(defaultValue = "testInstance", alias = "instanceName", property = "accumulo.instanceName", required = true) private String instanceName; - @Parameter(defaultValue = "secret", property = "rootPassword", required = true) + @Parameter(defaultValue = "secret", alias = "rootPassword", property = "accumulo.rootPassword", required = true) private String rootPassword; + @Parameter(defaultValue = "0", alias = "zooKeeperPort", property = "accumulo.zooKeeperPort", required = true) + private int zooKeeperPort; + private String miniClasspath; static Set<MiniAccumuloClusterImpl> runningClusters = Collections.synchronizedSet(new HashSet<MiniAccumuloClusterImpl>()); @Override public void execute() throws MojoExecutionException { + if (shouldSkip()) { + return; + } + File subdir = new File(new File(outputDirectory, "accumulo-maven-plugin"), instanceName); try { subdir = subdir.getCanonicalFile(); if (subdir.exists()) FileUtils.forceDelete(subdir); - subdir.mkdirs(); + if (!subdir.mkdirs() && !subdir.isDirectory()) + throw new IOException(subdir + " cannot be created as a directory"); MiniAccumuloConfigImpl cfg = new MiniAccumuloConfigImpl(subdir, rootPassword); cfg.setInstanceName(instanceName); + cfg.setZooKeeperPort(zooKeeperPort); configureMiniClasspath(cfg, miniClasspath); MiniAccumuloClusterImpl mac = new MiniAccumuloClusterImpl(cfg); - System.out.println("Starting MiniAccumuloCluster: " + mac.getInstanceName() + " in " + mac.getConfig().getDir()); + getLog().info("Starting MiniAccumuloCluster: " + mac.getInstanceName() + " in " + mac.getConfig().getDir()); mac.start(); runningClusters.add(mac); } catch (Exception e) { http://git-wip-us.apache.org/repos/asf/accumulo/blob/95f5affb/maven-plugin/src/main/java/org/apache/accumulo/maven/plugin/StopMojo.java ---------------------------------------------------------------------- diff --git a/maven-plugin/src/main/java/org/apache/accumulo/maven/plugin/StopMojo.java b/maven-plugin/src/main/java/org/apache/accumulo/maven/plugin/StopMojo.java index 5d51ed6..b03d168 100644 --- a/maven-plugin/src/main/java/org/apache/accumulo/maven/plugin/StopMojo.java +++ b/maven-plugin/src/main/java/org/apache/accumulo/maven/plugin/StopMojo.java @@ -34,8 +34,12 @@ public class StopMojo extends AbstractAccumuloMojo { @Override public void execute() throws MojoExecutionException { + if (shouldSkip()) { + return; + } + for (MiniAccumuloClusterImpl mac : StartMojo.runningClusters) { - System.out.println("Stopping MiniAccumuloCluster: " + mac.getInstanceName()); + getLog().info("Stopping MiniAccumuloCluster: " + mac.getInstanceName()); try { mac.stop(); for (LogWriter log : mac.getLogWriters()) http://git-wip-us.apache.org/repos/asf/accumulo/blob/95f5affb/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 8712b78..663a79d 100644 --- a/pom.xml +++ b/pom.xml @@ -749,7 +749,7 @@ <plugin> <groupId>org.apache.rat</groupId> <artifactId>apache-rat-plugin</artifactId> - <version>0.10</version> + <version>0.11</version> <configuration> <excludes> <exclude>nbproject/**</exclude>