From: Mathieu Baudier Date: Mon, 8 Dec 2008 11:09:01 +0000 (+0000) Subject: Improve feature descriptor X-Git-Tag: svn/tags/maven-plugins-0.3.0@2542~29 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=dc650400799238af0e65e9330af91152e684493b;hp=57a1767d6850e9fa35e7c755cbcc1d284dd413dd;p=gpl%2Fargeo-slc.git Improve feature descriptor git-svn-id: https://svn.argeo.org/slc/trunk/maven@1946 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/maven-argeo-pde-plugin/src/main/java/org/argeo/slc/maven/plugins/pde/Feature.java b/maven-argeo-pde-plugin/src/main/java/org/argeo/slc/maven/plugins/pde/Feature.java index 25a129d98..9b62be726 100644 --- a/maven-argeo-pde-plugin/src/main/java/org/argeo/slc/maven/plugins/pde/Feature.java +++ b/maven-argeo-pde-plugin/src/main/java/org/argeo/slc/maven/plugins/pde/Feature.java @@ -3,25 +3,16 @@ package org.argeo.slc.maven.plugins.pde; import java.util.List; public class Feature { - private String providerName; - private String license; + private String updateSite; private String copyright; private List plugins; - public String getProviderName() { - return providerName; + public String getUpdateSite() { + return updateSite; } - public void setProviderName(String providerName) { - this.providerName = providerName; - } - - public String getLicense() { - return license; - } - - public void setLicense(String license) { - this.license = license; + public void setUpdateSite(String license) { + this.updateSite = license; } public String getCopyright() { diff --git a/maven-argeo-pde-plugin/src/main/java/org/argeo/slc/maven/plugins/pde/FeatureDescriptorMojo.java b/maven-argeo-pde-plugin/src/main/java/org/argeo/slc/maven/plugins/pde/FeatureDescriptorMojo.java index 849a64237..efd245b77 100644 --- a/maven-argeo-pde-plugin/src/main/java/org/argeo/slc/maven/plugins/pde/FeatureDescriptorMojo.java +++ b/maven-argeo-pde-plugin/src/main/java/org/argeo/slc/maven/plugins/pde/FeatureDescriptorMojo.java @@ -5,6 +5,8 @@ import java.io.FileWriter; import java.io.IOException; import java.util.List; +import org.apache.maven.model.License; +import org.apache.maven.model.Organization; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.project.MavenProject; @@ -54,6 +56,7 @@ public class FeatureDescriptorMojo extends AbstractMojo { xmlWriter.addAttribute("id", project.getArtifactId()); xmlWriter.addAttribute("label", project.getName()); + // Version String projectVersion = project.getVersion(); int indexSnapshot = projectVersion.indexOf("-SNAPSHOT"); if (indexSnapshot > -1) @@ -63,12 +66,60 @@ public class FeatureDescriptorMojo extends AbstractMojo { // project. xmlWriter.addAttribute("version", projectVersion); + + Organization organization = project.getOrganization(); + if (organization != null && organization.getName() != null) + xmlWriter.addAttribute("provider-name", organization.getName()); + + if (project.getDescription() != null || project.getUrl() != null) { + xmlWriter.startElement("description"); + if (project.getUrl() != null) + xmlWriter.addAttribute("url", project.getUrl()); + if (project.getDescription() != null) + xmlWriter.writeText(project.getDescription()); + xmlWriter.endElement();// description + } + + if (feature.getCopyright() != null + || (organization != null && organization.getUrl() != null)) { + xmlWriter.startElement("copyright"); + if (organization != null && organization.getUrl() != null) + xmlWriter.addAttribute("url", organization.getUrl()); + if (feature.getCopyright() != null) + xmlWriter.writeText(feature.getCopyright()); + xmlWriter.endElement();// copyright + } + + if (feature.getUpdateSite() != null) { + xmlWriter.startElement("url"); + xmlWriter.startElement("update"); + xmlWriter.addAttribute("url", feature.getUpdateSite()); + xmlWriter.endElement();// update + xmlWriter.endElement();// url + } + + List licenses = project.getLicenses(); + if (licenses.size() > 0) { + // take the first one + License license = (License) licenses.get(0); + xmlWriter.startElement("license"); + + if (license.getUrl() != null) + xmlWriter.addAttribute("url", license.getUrl()); + if (license.getComments() != null) + xmlWriter.writeText(license.getComments()); + else if (license.getName() != null) + xmlWriter.writeText(license.getName()); + xmlWriter.endElement();// license + } + 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.addAttribute("unpack", plugin.getUnpack()); xmlWriter.endElement();// plugin } diff --git a/maven-argeo-pde-plugin/src/main/java/org/argeo/slc/maven/plugins/pde/PackageElementMojo.java b/maven-argeo-pde-plugin/src/main/java/org/argeo/slc/maven/plugins/pde/PackageElementMojo.java index 0505c2af1..b5262b850 100644 --- a/maven-argeo-pde-plugin/src/main/java/org/argeo/slc/maven/plugins/pde/PackageElementMojo.java +++ b/maven-argeo-pde-plugin/src/main/java/org/argeo/slc/maven/plugins/pde/PackageElementMojo.java @@ -24,7 +24,7 @@ public class PackageElementMojo extends AbstractMojo { private MavenProject project; /** - * The directory for the generated JAR. + * The build directory. * * @parameter expression="${project.build.directory}" * @required diff --git a/maven-argeo-pde-plugin/src/main/java/org/argeo/slc/maven/plugins/pde/Plugin.java b/maven-argeo-pde-plugin/src/main/java/org/argeo/slc/maven/plugins/pde/Plugin.java index eec09c481..e5a759d48 100644 --- a/maven-argeo-pde-plugin/src/main/java/org/argeo/slc/maven/plugins/pde/Plugin.java +++ b/maven-argeo-pde-plugin/src/main/java/org/argeo/slc/maven/plugins/pde/Plugin.java @@ -3,6 +3,7 @@ package org.argeo.slc.maven.plugins.pde; public class Plugin { private String id; private String version; + private String unpack = "false"; public String getId() { return id; @@ -20,4 +21,12 @@ public class Plugin { this.version = version; } + public String getUnpack() { + return unpack; + } + + public void setUnpack(String unpack) { + this.unpack = unpack; + } + }