X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=maven-argeo-pde-plugin%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fmaven%2Fplugins%2Fpde%2FFeatureDescriptorMojo.java;h=efd245b77aa6bbc6705e596534e9c018edc9c71c;hb=dc650400799238af0e65e9330af91152e684493b;hp=849a6423736be873d3e0b8d4a271ed25d2c3d3fd;hpb=57a1767d6850e9fa35e7c755cbcc1d284dd413dd;p=gpl%2Fargeo-slc.git 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 }