Author: tchemit Date: 2009-09-09 23:41:40 +0200 (Wed, 09 Sep 2009) New Revision: 571 Added: trunk/src/main/java/org/nuiton/Plugin.java Modified: trunk/src/main/java/org/nuiton/AbstractPlugin.java trunk/src/test/java/org/nuiton/util/BasePluginTestCase.java Log: add a common contract Plugin for mojos and reports Modified: trunk/src/main/java/org/nuiton/AbstractPlugin.java =================================================================== --- trunk/src/main/java/org/nuiton/AbstractPlugin.java 2009-09-08 16:02:25 UTC (rev 570) +++ trunk/src/main/java/org/nuiton/AbstractPlugin.java 2009-09-09 21:41:40 UTC (rev 571) @@ -49,7 +49,7 @@ * * @author chemit */ -public abstract class AbstractPlugin extends AbstractMojo { +public abstract class AbstractPlugin extends AbstractMojo implements Plugin { protected abstract boolean ensurePackaging(); @@ -102,14 +102,6 @@ } } - public abstract MavenProject getProject(); - - public abstract void setProject(MavenProject project); - - public abstract boolean isVerbose(); - - public abstract void setVerbose(boolean verbose); - /** * Does the actual copy of the file and logging. * Added: trunk/src/main/java/org/nuiton/Plugin.java =================================================================== --- trunk/src/main/java/org/nuiton/Plugin.java (rev 0) +++ trunk/src/main/java/org/nuiton/Plugin.java 2009-09-09 21:41:40 UTC (rev 571) @@ -0,0 +1,23 @@ +package org.nuiton; + +import org.apache.maven.plugin.Mojo; +import org.apache.maven.project.MavenProject; + +/** + * A common contract to be implements by our mojo and reports. + * + * Just expose a {@link #isVerbose()} flag and the maven project {@link #getProject()}. + * + * @author chemit + * @since 1.0.3 + */ +public interface Plugin extends Mojo { + + MavenProject getProject(); + + void setProject(MavenProject project); + + boolean isVerbose(); + + void setVerbose(boolean verbose); +} Property changes on: trunk/src/main/java/org/nuiton/Plugin.java ___________________________________________________________________ Added: svn:keywords + "Author Date Id Revision HeadURL Modified: trunk/src/test/java/org/nuiton/util/BasePluginTestCase.java =================================================================== --- trunk/src/test/java/org/nuiton/util/BasePluginTestCase.java 2009-09-08 16:02:25 UTC (rev 570) +++ trunk/src/test/java/org/nuiton/util/BasePluginTestCase.java 2009-09-09 21:41:40 UTC (rev 571) @@ -35,12 +35,12 @@ import org.codehaus.plexus.PlexusTestCase; import org.junit.Ignore; import org.junit.Test; -import org.nuiton.AbstractPlugin; +import org.nuiton.Plugin; /** * @param <P> le mojo a test * @author chemit */ -public abstract class BasePluginTestCase<P extends AbstractPlugin> { +public abstract class BasePluginTestCase<P extends Plugin> { protected static SystemStreamLog log; protected static File basedir; @@ -64,7 +64,7 @@ return testDir; } - protected static <P extends AbstractPlugin> void initConfigs(Class<? extends BasePluginTestCase<P>> klass, String... testNames) throws Exception { + protected static <P extends Plugin> void initConfigs(Class<? extends BasePluginTestCase<P>> klass, String... testNames) throws Exception { log = new SystemStreamLog(); List<PluginConfig> configs = new ArrayList<PluginConfig>(); String rep = klass.getName(); @@ -73,7 +73,7 @@ File f = new File(getBaseDir(), "target" + File.separator + "test-classes"); //File f = new File(getBaseDir(), "src" + File.separator + "test" + File.separator + "resources"); testDir = new File(f, rep); - log.info("test dir : " + testDir.getAbsolutePath().substring(getBaseDir().getAbsolutePath().length()+1)); + log.info("test dir : " + testDir.getAbsolutePath().substring(getBaseDir().getAbsolutePath().length() + 1)); if (testNames.length == 0) {