r709 - in trunk: . src/it/collect-files/multi src/it/collect-files/multi/module1 src/it/collect-files/multi/module2 src/it/share-server-secret/single src/main/java/org/nuiton/helper/plugin src/main/java/org/nuiton/plugin
Author: tchemit Date: 2010-05-08 18:30:31 +0200 (Sat, 08 May 2010) New Revision: 709 Url: http://nuiton.org/repositories/revision/maven-helper-plugin/709 Log: - Anomalie #583: Plugin is not maven 3 compatible - improve its Modified: trunk/pom.xml trunk/src/it/collect-files/multi/module1/pom.xml trunk/src/it/collect-files/multi/module2/pom.xml trunk/src/it/collect-files/multi/pom.xml trunk/src/it/share-server-secret/single/pom.xml trunk/src/main/java/org/nuiton/helper/plugin/CollectFilesMojo.java trunk/src/main/java/org/nuiton/plugin/AbstractPlugin.java Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2010-04-29 05:44:23 UTC (rev 708) +++ trunk/pom.xml 2010-05-08 16:30:31 UTC (rev 709) @@ -166,6 +166,13 @@ <scope>provided</scope> </dependency> + <!--dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-core</artifactId> + <version>${maven.version}</version> + <scope>provided</scope> + </dependency--> + <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-artifact</artifactId> @@ -305,6 +312,8 @@ <plexusMailSender.version>1.0-alpha-2</plexusMailSender.version> + <javadoc.version>2.7</javadoc.version> + <!-- extra files to include in release --> <redmine.releaseFiles>${redmine.libReleaseFiles}</redmine.releaseFiles> @@ -488,16 +497,17 @@ <artifactId>maven-invoker-plugin</artifactId> <configuration> <pomIncludes> - <pomInclude>**/pom.xml</pomInclude> - <!--<pomInclude>collect-files/single/pom.xml</pomInclude>--> - <!--<pomInclude>collect-files/multi/pom.xml</pomInclude>--> - <!--<pomInclude>send-email/single/pom.xml</pomInclude>--> - <!--<pomInclude>share-server-secret/single/pom.xml</pomInclude>--> + <!--<pomInclude>**/pom.xml</pomInclude>--> + <pomInclude>collect-files/multi/pom.xml</pomInclude> + <pomInclude>collect-files/single/pom.xml</pomInclude> + <pomInclude>send-email/single/pom.xml</pomInclude> + <pomInclude>share-server-secret/single/pom.xml</pomInclude> </pomIncludes> <postBuildHookScript>verify</postBuildHookScript> <localRepositoryPath>${basedir}/target/local-repo</localRepositoryPath> <settingsFile>src/it/settings.xml</settingsFile> <cloneProjectsTo>${project.build.directory}/its</cloneProjectsTo> + <!--<debug>true</debug>--> </configuration> <executions> <execution> Modified: trunk/src/it/collect-files/multi/module1/pom.xml =================================================================== --- trunk/src/it/collect-files/multi/module1/pom.xml 2010-04-29 05:44:23 UTC (rev 708) +++ trunk/src/it/collect-files/multi/module1/pom.xml 2010-05-08 16:30:31 UTC (rev 709) @@ -1,72 +1,78 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.nuiton.test</groupId> - <artifactId>collect-files-multi</artifactId> - <version>0</version> - </parent> - - <artifactId>module1</artifactId> - - <name>collect-files multi module1</name> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.nuiton.test</groupId> + <artifactId>collect-files-multi</artifactId> + <version>0</version> + </parent> - <packaging>jar</packaging> - - <build> + <artifactId>module1</artifactId> - <plugins> + <name>collect-files multi module1</name> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-helper-plugin</artifactId> - <executions> - <execution> - <id>collect-files</id> - <goals> - <goal>collect-files</goal> - </goals> - <configuration> - <extraFiles>${basedir}/src/module1.txt</extraFiles> - </configuration> - </execution> + <packaging>jar</packaging> - <execution> - <id>collect-files-2</id> - <configuration> - <extraFiles>${basedir}/src/module1-2.txt</extraFiles> - </configuration> - </execution> + <build> - <execution> - <id>collect-files-5</id> - <configuration> - <extraFiles>${basedir}/src/module1.txt, - ${basedir}/src/module1-2.txt</extraFiles> - </configuration> - </execution> + <plugins> - <execution> - <id>collect-files-6</id> - <configuration> - <extraFiles>${basedir}/src/module1.txt, - ${basedir}/src/module1-2.txt</extraFiles> - </configuration> - </execution> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-helper-plugin</artifactId> + <configuration> + <dryRun>false</dryRun> + </configuration> + <executions> + <execution> + <id>collect-files</id> + <goals> + <goal>collect-files</goal> + </goals> + <configuration> + <extraFiles>${basedir}/src/module1.txt</extraFiles> + </configuration> + </execution> - <execution> - <id>collect-files-7</id> - <configuration> - <extraFiles>${basedir}/src/module1.txt, - ${basedir}/src/module1-2.txt</extraFiles> - </configuration> - </execution> - </executions> - </plugin> + <execution> + <id>collect-files-2</id> + <configuration> + <extraFiles>${basedir}/src/module1-2.txt</extraFiles> + </configuration> + </execution> - </plugins> - </build> + <execution> + <id>collect-files-5</id> + <configuration> + <extraFiles>${basedir}/src/module1.txt, + ${basedir}/src/module1-2.txt + </extraFiles> + </configuration> + </execution> + + <execution> + <id>collect-files-6</id> + <configuration> + <extraFiles>${basedir}/src/module1.txt, + ${basedir}/src/module1-2.txt + </extraFiles> + </configuration> + </execution> + + <execution> + <id>collect-files-7</id> + <configuration> + <extraFiles>${basedir}/src/module1.txt, + ${basedir}/src/module1-2.txt + </extraFiles> + </configuration> + </execution> + </executions> + </plugin> + + </plugins> + </build> </project> Modified: trunk/src/it/collect-files/multi/module2/pom.xml =================================================================== --- trunk/src/it/collect-files/multi/module2/pom.xml 2010-04-29 05:44:23 UTC (rev 708) +++ trunk/src/it/collect-files/multi/module2/pom.xml 2010-05-08 16:30:31 UTC (rev 709) @@ -1,76 +1,79 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.nuiton.test</groupId> - <artifactId>collect-files-multi</artifactId> - <version>0</version> - </parent> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.nuiton.test</groupId> + <artifactId>collect-files-multi</artifactId> + <version>0</version> + </parent> - <artifactId>module2</artifactId> + <artifactId>module2</artifactId> - <name>collect-files multi module2</name> + <name>collect-files multi module2</name> - <packaging>jar</packaging> + <packaging>jar</packaging> - <build> + <build> - <plugins> + <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-helper-plugin</artifactId> - <executions> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-helper-plugin</artifactId> + <configuration> + <dryRun>false</dryRun> + </configuration> + <executions> - <execution> - <id>collect-files</id> - <goals> - <goal>collect-files</goal> - </goals> - <configuration> - <extraFiles>${basedir}/src/module2.txt</extraFiles> - </configuration> - </execution> + <execution> + <id>collect-files</id> + <goals> + <goal>collect-files</goal> + </goals> + <configuration> + <extraFiles>${basedir}/src/module2.txt</extraFiles> + </configuration> + </execution> - <execution> - <id>collect-files-2</id> - <configuration> - <extraFiles>${basedir}/src/module2-2.txt</extraFiles> - </configuration> - </execution> + <execution> + <id>collect-files-2</id> + <configuration> + <extraFiles>${basedir}/src/module2-2.txt</extraFiles> + </configuration> + </execution> - <execution> - <id>collect-files-5</id> - <configuration> - <extraFiles>${basedir}/src/module2.txt, - ${basedir}/src/module2-2.txt - </extraFiles> - </configuration> - </execution> + <execution> + <id>collect-files-5</id> + <configuration> + <extraFiles>${basedir}/src/module2.txt, + ${basedir}/src/module2-2.txt + </extraFiles> + </configuration> + </execution> - <execution> - <id>collect-files-6</id> - <configuration> - <extraFiles>${basedir}/src/module2.txt, - ${basedir}/src/module2-2.txt - </extraFiles> - </configuration> - </execution> - - <execution> - <id>collect-files-7</id> - <configuration> - <extraFiles>${basedir}/src/module2.txt, - ${basedir}/src/module2-2.txt - </extraFiles> - </configuration> - </execution> - </executions> - </plugin> + <execution> + <id>collect-files-6</id> + <configuration> + <extraFiles>${basedir}/src/module2.txt, + ${basedir}/src/module2-2.txt + </extraFiles> + </configuration> + </execution> - </plugins> - </build> + <execution> + <id>collect-files-7</id> + <configuration> + <extraFiles>${basedir}/src/module2.txt, + ${basedir}/src/module2-2.txt + </extraFiles> + </configuration> + </execution> + </executions> + </plugin> + + </plugins> + </build> </project> Modified: trunk/src/it/collect-files/multi/pom.xml =================================================================== --- trunk/src/it/collect-files/multi/pom.xml 2010-04-29 05:44:23 UTC (rev 708) +++ trunk/src/it/collect-files/multi/pom.xml 2010-05-08 16:30:31 UTC (rev 709) @@ -1,166 +1,178 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - <groupId>org.nuiton.test</groupId> - <artifactId>collect-files-multi</artifactId> - <version>0</version> + <modelVersion>4.0.0</modelVersion> + <groupId>org.nuiton.test</groupId> + <artifactId>collect-files-multi</artifactId> + <version>0</version> - <name>Collect-files single</name> - <packaging>pom</packaging> - <description>collect-files Test plugin for a single module.</description> + <name>Collect-files parent</name> + <packaging>pom</packaging> + <description>collect-files Test plugin for a single module.</description> - <url>http://www.foo.com</url> + <url>http://www.foo.com</url> - <modules> - <module>module1</module> - <module>module2</module> - </modules> - - <properties> + <modules> + <module>module1</module> + <module>module2</module> + </modules> - <pluginVersion>@pom.version@</pluginVersion> + <properties> - <!-- default encoding --> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <pluginVersion>@pom.version@</pluginVersion> - </properties> + <!-- default encoding --> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <distributionManagement> - <repository> - <id>nuiton</id> - <url>scpexe://nuiton.org/var/lib/maven/release</url> - </repository> - <snapshotRepository> - <id>nuiton</id> - <url>scpexe://nuiton.org/var/lib/maven/snapshot</url> - </snapshotRepository> - </distributionManagement> - - <build> + </properties> - <pluginManagement> - <plugins> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-helper-plugin</artifactId> - <version>${pluginVersion}</version> - </plugin> - </plugins> - </pluginManagement> + <distributionManagement> + <repository> + <id>nuiton</id> + <url>scpexe://nuiton.org/var/lib/maven/release</url> + </repository> + <snapshotRepository> + <id>nuiton</id> + <url>scpexe://nuiton.org/var/lib/maven/snapshot</url> + </snapshotRepository> + </distributionManagement> - <plugins> + <build> - <plugin> - <groupId>org.nuiton</groupId> - <artifactId>maven-helper-plugin</artifactId> - <executions> - <execution> - <id>collect-files</id> - <goals> - <goal>collect-files</goal> - </goals> - <phase>package</phase> - <configuration> - <verbose>true</verbose> - <extraFiles>${basedir}/src/collect-files.txt</extraFiles> - <descriptionFile>target/collect.properties</descriptionFile> - <copyFiles>false</copyFiles> - </configuration> - </execution> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-helper-plugin</artifactId> + <version>${pluginVersion}</version> + </plugin> + </plugins> + </pluginManagement> - <execution> - <id>collect-files-2</id> - <goals> - <goal>collect-files</goal> - </goals> - <phase>package</phase> - <configuration> - <extraFiles>${basedir}/src/collect-files-2.txt</extraFiles> - <outputDirectory>target/collect2</outputDirectory> - <descriptionFile>target/collect2.properties</descriptionFile> - <copyFiles>true</copyFiles> - </configuration> - </execution> + <plugins> - <execution> - <id>collect-files-3</id> - <inherited>false</inherited> - <goals> - <goal>collect-files</goal> - </goals> - <phase>package</phase> - <configuration> - <outputDirectory>target/collect3</outputDirectory> - <copyFiles>true</copyFiles> - </configuration> - </execution> + <plugin> + <groupId>org.nuiton</groupId> + <artifactId>maven-helper-plugin</artifactId> + <executions> + <execution> + <id>collect-files</id> + <goals> + <goal>collect-files</goal> + </goals> + <phase>package</phase> + <configuration> + <skip>false</skip> + <dryRun>false</dryRun> + <verbose>true</verbose> + <extraFiles>${basedir}/src/collect-files.txt</extraFiles> + <descriptionFile>target/collect.properties</descriptionFile> + <copyFiles>false</copyFiles> + </configuration> + </execution> - <execution> - <id>collect-files-4</id> - <goals> - <goal>collect-files</goal> - </goals> - <phase>compile</phase> - <configuration> - <outputDirectory>target/collect3</outputDirectory> - <copyFiles>true</copyFiles> - </configuration> - </execution> + <execution> + <id>collect-files-2</id> + <goals> + <goal>collect-files</goal> + </goals> + <phase>package</phase> + <configuration> + <skip>false</skip> + <dryRun>false</dryRun> + <extraFiles>${basedir}/src/collect-files-2.txt</extraFiles> + <outputDirectory>target/collect2</outputDirectory> + <descriptionFile>target/collect2.properties</descriptionFile> + <copyFiles>true</copyFiles> + </configuration> + </execution> - <execution> - <id>collect-files-5</id> - <goals> - <goal>collect-files</goal> - </goals> - <phase>package</phase> - <configuration> - <includeAttached>false</includeAttached> - <outputDirectory>target/collect5</outputDirectory> - <extraFiles>${basedir}/src/collect-files.txt, - ${basedir}/src/collect-files-2.txt</extraFiles> - <copyFiles>true</copyFiles> - </configuration> - </execution> + <execution> + <id>collect-files-3</id> + <inherited>false</inherited> + <goals> + <goal>collect-files</goal> + </goals> + <phase>package</phase> + <configuration> + <skip>false</skip> + <dryRun>false</dryRun> + <outputDirectory>target/collect3</outputDirectory> + <copyFiles>true</copyFiles> + </configuration> + </execution> - <execution> - <id>collect-files-6</id> - <goals> - <goal>collect-files</goal> - </goals> - <phase>package</phase> - <configuration> - <dryRun>true</dryRun> - <outputDirectory>target/collect6</outputDirectory> - <extraFiles>${basedir}/src/collect-files.txt, - ${basedir}/src/collect-files-2.txt - </extraFiles> - <copyFiles>true</copyFiles> - </configuration> - </execution> + <execution> + <id>collect-files-4</id> + <goals> + <goal>collect-files</goal> + </goals> + <phase>compile</phase> + <configuration> + <skip>false</skip> + <dryRun>false</dryRun> + <outputDirectory>target/collect3</outputDirectory> + <copyFiles>true</copyFiles> + </configuration> + </execution> - <execution> - <id>collect-files-7</id> - <goals> - <goal>collect-files</goal> - </goals> - <phase>package</phase> - <configuration> - <skip>true</skip> - <outputDirectory>target/collect7</outputDirectory> - <extraFiles>${basedir}/src/collect-files.txt, - ${basedir}/src/collect-files-2.txt - </extraFiles> - <copyFiles>true</copyFiles> - </configuration> - </execution> - </executions> - </plugin> + <execution> + <id>collect-files-5</id> + <goals> + <goal>collect-files</goal> + </goals> + <phase>package</phase> + <configuration> + <skip>false</skip> + <dryRun>false</dryRun> + <includeAttached>false</includeAttached> + <outputDirectory>target/collect5</outputDirectory> + <extraFiles>${basedir}/src/collect-files.txt, + ${basedir}/src/collect-files-2.txt + </extraFiles> + <copyFiles>true</copyFiles> + </configuration> + </execution> - </plugins> + <execution> + <id>collect-files-6</id> + <goals> + <goal>collect-files</goal> + </goals> + <phase>package</phase> + <configuration> + <skip>false</skip> + <dryRun>true</dryRun> + <outputDirectory>target/collect6</outputDirectory> + <extraFiles>${basedir}/src/collect-files.txt, + ${basedir}/src/collect-files-2.txt + </extraFiles> + <copyFiles>true</copyFiles> + </configuration> + </execution> - </build> + <execution> + <id>collect-files-7</id> + <goals> + <goal>collect-files</goal> + </goals> + <phase>package</phase> + <configuration> + <skip>true</skip> + <outputDirectory>target/collect7</outputDirectory> + <extraFiles>${basedir}/src/collect-files.txt, + ${basedir}/src/collect-files-2.txt + </extraFiles> + <copyFiles>true</copyFiles> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + + </build> + </project> Modified: trunk/src/it/share-server-secret/single/pom.xml =================================================================== --- trunk/src/it/share-server-secret/single/pom.xml 2010-04-29 05:44:23 UTC (rev 708) +++ trunk/src/it/share-server-secret/single/pom.xml 2010-05-08 16:30:31 UTC (rev 709) @@ -70,6 +70,7 @@ </plugin> <plugin> <artifactId>maven-antrun-plugin</artifactId> + <version>1.3</version> <executions> <execution> <phase>initialize</phase> Modified: trunk/src/main/java/org/nuiton/helper/plugin/CollectFilesMojo.java =================================================================== --- trunk/src/main/java/org/nuiton/helper/plugin/CollectFilesMojo.java 2010-04-29 05:44:23 UTC (rev 708) +++ trunk/src/main/java/org/nuiton/helper/plugin/CollectFilesMojo.java 2010-05-08 16:30:31 UTC (rev 709) @@ -29,6 +29,7 @@ import org.apache.maven.artifact.metadata.ArtifactMetadata; import org.apache.maven.artifact.repository.ArtifactRepository; import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.project.MavenProject; import org.nuiton.plugin.AbstractPlugin; import org.nuiton.plugin.PluginHelper; @@ -51,8 +52,17 @@ public class CollectFilesMojo extends AbstractPlugin { /** - * Dependance du projet. + * The projects in the reactor. * + * @parameter expression="${reactorProjects}" + * @readonly + * @since 1.2.4 + */ + protected List reactorProjects; + + /** + * Fallback maven project (for maven 2). + * * @parameter default-value="${project}" * @required * @readonly @@ -217,6 +227,9 @@ if (skip) { return; } + if (getLog().isDebugEnabled()) { + setVerbose(true); + } files = getFiles(); } @@ -240,14 +253,27 @@ @Override public void doAction() throws Exception { - MavenProject rootProject = getExecutionRootProject(); + if (isVerbose()) { + getLog().info("project = " + project); + } + MavenProject rootProject = getRootProject(project, reactorProjects); + + if (rootProject == null) { + + throw new MojoFailureException("Could not find root project for " + project + " in reactor " + reactorProjects); + } + + if (isVerbose()) { + getLog().info("root project = " + rootProject); + } + File base = new File(rootProject.getBasedir(), outputDirectory); File output = new File(base, project.getGroupId() + "--" + project.getArtifactId()); - if (rootProject == project || verbose) { + if (verbose) { getLog().info("Ouput dir : " + output); } @@ -333,7 +359,6 @@ /** * Read a file containing on each line the path of a file. * - * @param input the file containing the list of files * @return the list of files read from the given file * @throws IOException if any pb while reading file */ @@ -466,18 +491,25 @@ return result; } +// +// protected MavenProject getExecutionRootProject(MavenProject project) { +// +// if (project.isExecutionRoot()) { +// +// getLog().info("Project is root execution : " + project); +// return project; +// } +// +// if (project.getParent() == null) { +// +// getLog().info("Could not find executionRoot for " + project); +// return null; +// } +// +// MavenProject result = getExecutionRootProject(project.getParent()); +// return result; +// } - protected MavenProject getExecutionRootProject() { - MavenProject root = project; - while (!root.isExecutionRoot()) { - root = root.getParent(); - } - if (verbose) { - getLog().info("root project " + root); - } - return root; - } - protected void addFile(File f, String msg, List<File> files, Modified: trunk/src/main/java/org/nuiton/plugin/AbstractPlugin.java =================================================================== --- trunk/src/main/java/org/nuiton/plugin/AbstractPlugin.java 2010-04-29 05:44:23 UTC (rev 708) +++ trunk/src/main/java/org/nuiton/plugin/AbstractPlugin.java 2010-05-08 16:30:31 UTC (rev 709) @@ -40,7 +40,14 @@ import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; /** * Base mojo with usefull methods and implementing {@link Plugin} contract. @@ -341,7 +348,6 @@ ds.setIncludes(includes); if (excludes != null) { ds.setExcludes(excludes); - } for (String src : roots) { @@ -822,4 +828,17 @@ } } } + + protected MavenProject getRootProject(MavenProject project, List reactors) { + if (project.isExecutionRoot() || reactors.size() == 1 || reactors.get(0).equals(project)) { + + getLog().debug("project " + project + " is root execution :)"); + return project; + } + + MavenProject root = (MavenProject) reactors.get(0); + + getLog().debug("first project in reactor : " + root); + return root; + } }
participants (1)
-
tchemit@users.nuiton.org