<modelVersion>4.0.0</modelVersion>\r
<groupId>org.argeo.slc.maven</groupId>\r
<artifactId>maven-argeo-pde-plugin</artifactId>\r
- <version>0.3.1-SNAPSHOT</version>\r
+ <version>0.3.1</version>\r
<packaging>maven-plugin</packaging>\r
<name>Argeo PDE Plugin</name>\r
\r
--- /dev/null
+package org.argeo.slc.maven.plugins.pde;
+
+import java.io.File;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.project.MavenProject;
+
+/**
+ * Builds a product and adds it as main artifact.
+ *
+ * @goal packageProduct
+ * @phase package
+ * @execute goal="buildProduct"
+ */
+public class PackageProductMojo extends AbstractMojo {
+ /**
+ * The Maven project.
+ *
+ * @parameter expression="${project}"
+ * @required
+ * @readonly
+ */
+ private MavenProject project;
+
+ /**
+ * The build directory.
+ *
+ * @parameter expression="${project.build.directory}"
+ * @required
+ */
+ private String buildDirectory;
+
+ public void execute() throws MojoExecutionException {
+ File file = new File(buildDirectory, project.getArtifactId() + ".zip");
+ project.getArtifact().setFile(file);
+ }
+}
</lifecycles>
</configuration>
</component>
+ <component>
+ <role>org.apache.maven.lifecycle.mapping.LifecycleMapping
+ </role>
+ <role-hint>eclipseProduct</role-hint>
+ <implementation>
+ org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
+ </implementation>
+ <configuration>
+ <lifecycles>
+ <lifecycle>
+ <id>default</id>
+ <phases>
+ <initialize>
+ org.argeo.slc.maven:maven-argeo-pde-plugin:eclipseTarget
+ </initialize>
+ <package>
+ org.argeo.slc.maven:maven-argeo-pde-plugin:packageProduct
+ </package>
+ <install>
+ org.apache.maven.plugins:maven-install-plugin:install
+ </install>
+ <deploy>
+ org.apache.maven.plugins:maven-deploy-plugin:deploy
+ </deploy>
+ </phases>
+ </lifecycle>
+ </lifecycles>
+ </configuration>
+ </component>
<component>
<role>org.apache.maven.artifact.handler.ArtifactHandler
</role>
<addedToClasspath>false</addedToClasspath>
</configuration>
</component>
+ <component>
+ <role>org.apache.maven.artifact.handler.ArtifactHandler
+ </role>
+ <role-hint>eclipseProduct</role-hint>
+ <implementation>
+ org.apache.maven.artifact.handler.DefaultArtifactHandler
+ </implementation>
+ <configuration>
+ <type>eclipseFeature</type>
+ <includesDependencies>false</includesDependencies>
+ <language>java</language>
+ <extension>zip</extension>
+ <addedToClasspath>false</addedToClasspath>
+ </configuration>
+ </component>
</components>
</component-set>
</copy>
<!-- Execute -->
- <eclipseAnt antfile="${productBuildFile}" antargs="-Dbuilder=${buildConfiguration.dir} -DbuildDirectory=${buildDirectory} -DbaseLocation=${eclipseTarget} -Dbase=${base} -DpluginPath=${dependencyDir} -DarchivePrefix=${archivePrefix} -DbuildLabel=${buildLabel} -DbuildId=${buildId} -DcollectingFolder=${collectingFolder} -DskipFetch=${skipFetch} -DskipMaps=${skipMaps} -DrunPackager=${runPackager}" />
+ <eclipseAnt antfile="${productBuildFile}" antargs="-Dbuilder=${buildConfiguration.dir} -DbuildDirectory=${buildDirectory} -DskipBase=true -DbaseLocation=${eclipseTarget} -DpluginPath=${dependencyDir} -DarchivePrefix=${archivePrefix} -DbuildLabel=${buildLabel} -DbuildId=${buildId} -DcollectingFolder=${collectingFolder} -DskipFetch=${skipFetch} -DskipMaps=${skipMaps} -DrunPackager=${runPackager}" />
<!-- Copy to target dir -->
<copy todir="${project.build.directory}">
<parameters>
<!-- Common -->
- <!-- TODO: remove -->
- <parameter>
- <name>eclipseBuildDir</name>
- <property>eclipseBuildDir</property>
- <required>true</required>
- <expression>${eclipseBuildDir}</expression>
- <type>java.lang.String</type>
- <description>
- The Eclipse build dir location
- </description>
- </parameter>
<parameter>
<name>eclipseAntArgs</name>
<property>eclipseAntArgs</property>