<classpath>
<classpathentry kind="src" path="src/main/java"/>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
-#Fri Dec 05 10:50:53 CET 2008
+#Sat Dec 06 10:08:40 CET 2008
eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.3
<packaging>maven-plugin</packaging>\r
<name>Argeo PDE Plugin</name>\r
\r
+ <build>\r
+ <plugins>\r
+ <plugin>\r
+ <artifactId>maven-compiler-plugin</artifactId>\r
+ <configuration>\r
+ <source>1.4</source>\r
+ <target>1.4</target>\r
+ </configuration>\r
+ </plugin>\r
+ <plugin>\r
+ <artifactId>maven-plugin-plugin</artifactId>\r
+ <dependencies>\r
+ <dependency>\r
+ <groupId>org.apache.maven</groupId>\r
+ <artifactId>maven-plugin-tools-ant\r
+ </artifactId>\r
+ <version>2.1</version>\r
+ </dependency>\r
+ </dependencies>\r
+ </plugin>\r
+ </plugins>\r
+ </build>\r
<dependencies>\r
<dependency>\r
<groupId>org.apache.maven</groupId>\r
</exclusions>\r
</dependency>\r
</dependencies>\r
-\r
- <build>\r
- <plugins>\r
- <plugin>\r
- <artifactId>maven-plugin-plugin</artifactId>\r
- <dependencies>\r
- <dependency>\r
- <groupId>org.apache.maven</groupId>\r
- <artifactId>maven-plugin-tools-ant\r
- </artifactId>\r
- <version>2.1</version>\r
- </dependency>\r
- </dependencies>\r
- <configuration>\r
- <goalPrefix>argeo-pde</goalPrefix>\r
- </configuration>\r
- </plugin>\r
- </plugins>\r
- </build>\r
<distributionManagement>\r
<repository>\r
<uniqueVersion>false</uniqueVersion>\r
--- /dev/null
+package org.argeo.slc.maven.plugins.pde;
+
+import java.util.List;
+
+public class Feature {
+ private String providerName;
+ private String license;
+ private String copyright;
+ private List plugins;
+
+ public String getProviderName() {
+ return providerName;
+ }
+
+ public void setProviderName(String providerName) {
+ this.providerName = providerName;
+ }
+
+ public String getLicense() {
+ return license;
+ }
+
+ public void setLicense(String license) {
+ this.license = license;
+ }
+
+ public String getCopyright() {
+ return copyright;
+ }
+
+ public void setCopyright(String copyright) {
+ this.copyright = copyright;
+ }
+
+ public List getPlugins() {
+ return plugins;
+ }
+
+ public void setPlugins(List plugins) {
+ this.plugins = plugins;
+ }
+
+}
--- /dev/null
+package org.argeo.slc.maven.plugins.pde;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.List;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.util.IOUtil;
+import org.codehaus.plexus.util.xml.PrettyPrintXMLWriter;
+
+/**
+ * Generates a feature descripto based on the pom
+ *
+ * @goal featureDescriptor
+ * @phase process-resources
+ */
+public class FeatureDescriptorMojo extends AbstractMojo {
+ /**
+ * The Maven project.
+ *
+ * @parameter expression="${project}"
+ * @required
+ * @readonly
+ */
+ private MavenProject project;
+
+ /**
+ * The directory for the pom
+ *
+ * @parameter expression="${basedir}"
+ * @required
+ */
+ private File baseDir;
+
+ /**
+ * Information about the feature
+ *
+ * @parameter expression="${argeo-pde.feature}"
+ * @required
+ */
+ private Feature feature;
+
+ public void execute() throws MojoExecutionException {
+ File featureDesc = new File(baseDir, "feature.xml");
+ FileWriter fileWriter = null;
+ try {
+ fileWriter = new FileWriter(featureDesc);
+ PrettyPrintXMLWriter xmlWriter = new PrettyPrintXMLWriter(
+ fileWriter);
+ xmlWriter.startElement("feature");
+ xmlWriter.addAttribute("id", project.getArtifactId());
+ xmlWriter.addAttribute("label", project.getName());
+
+ String projectVersion = project.getVersion();
+ int indexSnapshot = projectVersion.indexOf("-SNAPSHOT");
+ if (indexSnapshot > -1)
+ projectVersion = projectVersion.substring(0, indexSnapshot);
+ projectVersion = projectVersion + ".qualifier";
+
+ // project.
+ xmlWriter.addAttribute("version", projectVersion);
+
+ List plugins = feature.getPlugins();
+ for (int i = 0; i < plugins.size(); i++) {
+ Plugin plugin = (Plugin) plugins.get(i);
+ xmlWriter.startElement("plugin");
+ xmlWriter.addAttribute("id", plugin.getId());
+ xmlWriter.addAttribute("version", plugin.getVersion());
+ xmlWriter.endElement();// plugin
+ }
+
+ xmlWriter.endElement();// feature
+ } catch (IOException e) {
+ throw new MojoExecutionException("Cannot write feature descriptor",
+ e);
+ }
+ IOUtil.close(fileWriter);
+ getLog().info("FeatureDescriptorMojo done");
+ }
+}
--- /dev/null
+package org.argeo.slc.maven.plugins.pde;
+
+public class Plugin {
+ private String id;
+ private String version;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getVersion() {
+ return version;
+ }
+
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+}
</phase>
</phases>
</lifecycle>
+ <!--
+ <lifecycle>
+ <id>buildNumber</id>
+ <phases>
+ <phase>
+ <id>validate</id>
+ <executions>
+ <execution>
+ <goals>
+ <goal>org.codehaus.mojo:buildnumber-maven-plugin:create</goal>
+ </goals>
+ <configuration>
+ <buildNumberPropertyName>scmRevision</buildNumberPropertyName>
+ <doCheck>false</doCheck>
+ <doUpdate>false</doUpdate>
+ </configuration>
+ </execution>
+ </executions>
+ </phase>
+ </phases>
+ </lifecycle>
+ -->
</lifecycles>
<initialize>
org.argeo.slc.maven:maven-argeo-pde-plugin:eclipseTarget
</initialize>
+ <process-resources>
+ org.argeo.slc.maven:maven-argeo-pde-plugin:featureDescriptor
+ </process-resources>
<package>
org.argeo.slc.maven:maven-argeo-pde-plugin:packageElement
</package>
<property name="elementBuildScript" location="${buildDirectory}/${elementType}s/${elementId}/build.xml" />
<eclipseAnt antfile="${ant.file}" antargs="eclipse.generateScripts -DpdeBuilder=${pdeBuilder} -DpluginPath=${dependencyDir} -DprojectDirectory=${projectDirectory} -DeclipseBuildDir=${eclipseBuildDir} -DelementId=${elementId} -DbuildDirectory=${buildDirectory}" />
- <eclipseAnt antfile="${elementBuildScript}" antargs="${buildScriptTargets} -Dplugin.destination=${pluginDestination} -Dfeature.destination=${featureDestination} -DelementId=${elementId} -DbuildTempFolder=${buildTempFolder} -Dtemp.folder=${buildTempFolder}/temp.folder -Dfeature.temp.folder=${buildTempFolder}/feature.temp.folder ${buildScriptProperties}" />
+ <eclipseAnt antfile="${elementBuildScript}" antargs="${buildScriptTargets} -Dplugin.destination=${pluginDestination} -Dfeature.destination=${featureDestination} -DelementId=${elementId} -DbuildTempFolder=${buildTempFolder} -Dtemp.folder=${buildTempFolder}/temp.folder -Dfeature.temp.folder=${buildTempFolder}/feature.temp.folder -DjavacFailOnError=true ${buildScriptProperties}" />
<copy todir="${project.build.directory}">
<fileset dir="${featureDestination}">
<parameters>
<!-- Common -->
- <!--
- <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>
<parameters>
<!-- Common -->
+ <!-- TODO: remove -->
<parameter>
<name>eclipseBuildDir</name>
<property>eclipseBuildDir</property>
+++ /dev/null
-<project default="eclipseBuildDir">
-
- <target name="eclipseBuildDir">
- <fail message="Property eclipseBuildDir has to be set"
- unless="eclipseBuildDir" />
-
- <property name="downloadsDir" location="${eclipseBuildDir}/download" />
- <mkdir dir="${downloadsDir}" />
-
- <!-- Base -->
- <doTar target="eclipse"
- file="eclipse-SDK-3.3.2-linux-gtk.tar.gz"
- url="http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/eclipse/downloads/drops/R-3.3.2-200802211800/eclipse-SDK-3.3.2-linux-gtk.tar.gz" />
- <doZip target="eclipse"
- file="eclipse-RCP-3.3.2-delta-pack.zip"
- url="http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/eclipse/downloads/drops/R-3.3.2-200802211800/eclipse-RCP-3.3.2-delta-pack.zip" />
-
- <!--
- <doZip target="eclipse" file="" url="" />
--->
- <!-- WTP -->
- <doZip target="pluginPath/eclipse-WTP-2.0.2"
- file="wtp-R-2.0.2-20080223205547.zip"
- url="http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/webtools/downloads/drops/R2.0/R-2.0.2-20080223205547/wtp-R-2.0.2-20080223205547.zip" />
- <doZip target="pluginPath/eclipse-WTP-2.0.2"
- file="emf-sdo-xsd-SDK-2.3.2.zip"
- url="http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/modeling/emf/emf/downloads/drops/2.3.2/R200802051830/emf-sdo-xsd-SDK-2.3.2.zip" />
- <doZip target="pluginPath/eclipse-WTP-2.0.2"
- file="GEF-SDK-3.3.2.zip"
- url="http://www.mirrorservice.org/sites/download.eclipse.org/eclipseMirror/tools/gef/downloads/drops/3.3.2/R200802211602/GEF-SDK-3.3.2.zip" />
-
- <doZip target="pluginPath/Spring-IDE-2.0.5"
- file="spring-ide_2.0.5_v200805211800.zip"
- url="http://s3browse.com/getObject/dist.springframework.org/release/IDE/spring-ide_2.0.5_v200805211800.zip" />
-
- </target>
-
- <macrodef name="doZip">
- <attribute name="url" />
- <attribute name="target" />
- <attribute name="file" default="download.zip" />
- <attribute name="downloadLocation"
- default="${downloadsDir}/@{target}" />
- <attribute name="downloadFile" default="@{downloadLocation}/@{file}" />
- <sequential>
- <mkdir dir="@{downloadLocation}" />
- <retrieve url="@{url}" downloadfile="@{downloadFile}" />
- <mkdir dir="${eclipseBuildDir}/@{target}" />
- <unzip dest="${eclipseBuildDir}/@{target}" src="@{downloadFile}" />
- <removeEclipseDir dir="${eclipseBuildDir}/@{target}" />
- </sequential>
- </macrodef>
-
- <macrodef name="doTar">
- <attribute name="url" />
- <attribute name="target" />
- <attribute name="file" default="download.zip" />
- <attribute name="downloadLocation"
- default="${downloadsDir}/@{target}" />
- <attribute name="downloadFile" default="@{downloadLocation}/@{file}" />
- <sequential>
- <mkdir dir="@{downloadLocation}" />
- <retrieve url="@{url}" downloadfile="@{downloadFile}" />
- <mkdir dir="${eclipseBuildDir}/@{target}" />
- <untar dest="${eclipseBuildDir}/@{target}"
- src="@{downloadFile}"
- compression="gzip" />
- <removeEclipseDir dir="${eclipseBuildDir}/@{target}" />
- </sequential>
- </macrodef>
-
- <macrodef name="retrieve">
- <attribute name="url" />
- <attribute name="downloadFile" />
- <sequential>
- <echo message="Download from URL @{url} to @{downloadFile}" />
- <get src="@{url}"
- dest="@{downloadFile}"
- verbose="true"
- usetimestamp="true" />
- </sequential>
- </macrodef>
-
- <macrodef name="removeEclipseDir">
- <attribute name="dir" />
- <sequential>
- <echo message="Remove eclipse dir from @{dir} if present" />
- <move todir="@{dir}">
- <fileset dir="@{dir}">
- <include name="eclipse/plugins/**" />
- <include name="eclipse/features/**" />
- </fileset>
- <globmapper from="eclipse/*" to="*" />
- </move>
- <delete dir="@{dir}/eclipse" />
- </sequential>
- </macrodef>
-</project>
\ No newline at end of file
+++ /dev/null
-<pluginMetadata>
- <mojos>
- <mojo>
- <goal>eclipseBuildDir</goal>
- <call>eclipseBuildDir</call>
- <description>
- Prepare an eclispe build dir by downloading the required
- components
- </description>
-
- <parameters>
- <!-- Common -->
- <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>
- </parameters>
- </mojo>
- </mojos>
-</pluginMetadata>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="argeo.slc.testfeature"
- label="Testfeature Feature"
- version="1.0.0">
-
- <description url="http://www.example.com/description">
- [Enter Feature Description here.]
- </description>
-
- <copyright url="http://www.example.com/copyright">
- [Enter Copyright Description here.]
- </copyright>
-
- <license url="http://www.example.com/license">
- [Enter License Description here.]
- </license>
-
- <plugin
- id="argeo.slc.testplugin"
- download-size="0"
- install-size="0"
- version="1.0.0"
- unpack="false"/>
-
-</feature>
<version>0.1.1-SNAPSHOT</version>
<packaging>eclipseFeature</packaging>
<name>Argeo SLC Test Eclipse Feature</name>
+ <scm>
+ <developerConnection>
+ scm:svn:https://www.argeo.org/svn/slc/trunk/maven/plugins/maven-argeo-pde-plugin/src/test/eclipse/features/argeo.slc.testfeature
+ </developerConnection>
+ </scm>
<build>
<plugins>
<plugin>
<version>0.3.1-SNAPSHOT</version>
<extensions>true</extensions>
<configuration>
- <buildScriptProperties>-DjavacSource=1.5
- -DjavacTarget=1.5</buildScriptProperties>
+ <buildScriptProperties><![CDATA[-DjavacSource=1.5 -DjavacTarget=1.5]]></buildScriptProperties>
+ <feature>
+ <plugins>
+ <plugin>
+ <id>argeo.slc.testplugin</id>
+ <version>1.0.0.qualifier</version>
+ </plugin>
+ </plugins>
+ </feature>
</configuration>
</plugin>
+ <!--
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<executions>
<execution>
+ <id>getScmRevision</id>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
+ <configuration>
+ <buildNumberPropertyName>scmRevision</buildNumberPropertyName>
+ <doCheck>false</doCheck>
+ <doUpdate>true</doUpdate>
+ </configuration>
</execution>
+ <execution> <id>getTimestamp</id> <phase>initialize</phase>
+ <goals> <goal>create</goal> </goals> <configuration>
+ <format>{0}_{1,date,yyyyMMddHHmmss}</format> <items>
+ <item>${scmRevision}</item> <item>timestamp</item> </items>
+ </configuration> </execution>
</executions>
<configuration>
- <doCheck>true</doCheck>
+ <doCheck>false</doCheck>
<doUpdate>true</doUpdate>
</configuration>
</plugin>
+ -->
</plugins>
</build>
Bundle-ManifestVersion: 2
Bundle-Name: Testplugin Plug-in
Bundle-SymbolicName: argeo.slc.testplugin; singleton:=true
-Bundle-Version: 1.0.0
+Bundle-Version: 1.0.0.qualifier
Bundle-Activator: argeo.slc.testplugin.Activator
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime