[pkg-java] r14650 - in trunk/maven-debian-helper: debian maven-debian-plugin/src/main/java/org/debian/maven/plugin
Damien Raude-Morvan
drazzib at alioth.debian.org
Thu Sep 1 00:06:54 UTC 2011
Author: drazzib
Date: 2011-09-01 00:06:53 +0000 (Thu, 01 Sep 2011)
New Revision: 14650
Modified:
trunk/maven-debian-helper/debian/changelog
trunk/maven-debian-helper/maven-debian-plugin/src/main/java/org/debian/maven/plugin/SysInstallMojo.java
Log:
* SysInstallMojo: Support "finalName" attribute to override
expected artifact (conform to Maven standards).
* SysInstallMojo: Read usj-name, usj-version and no-usj-versionless.
Closes: #629621.
Modified: trunk/maven-debian-helper/debian/changelog
===================================================================
--- trunk/maven-debian-helper/debian/changelog 2011-08-31 20:32:40 UTC (rev 14649)
+++ trunk/maven-debian-helper/debian/changelog 2011-09-01 00:06:53 UTC (rev 14650)
@@ -1,3 +1,12 @@
+maven-debian-helper (1.4.5) UNRELEASED; urgency=low
+
+ * SysInstallMojo: Support "finalName" attribute to override
+ expected artifact (conform to Maven standards).
+ * SysInstallMojo: Read usj-name, usj-version and no-usj-versionless.
+ Closes: #629621.
+
+ -- Damien Raude-Morvan <drazzib at debian.org> Thu, 01 Sep 2011 02:06:42 +0200
+
maven-debian-helper (1.4.4) unstable; urgency=low
[ Ludovic Claude ]
Modified: trunk/maven-debian-helper/maven-debian-plugin/src/main/java/org/debian/maven/plugin/SysInstallMojo.java
===================================================================
--- trunk/maven-debian-helper/maven-debian-plugin/src/main/java/org/debian/maven/plugin/SysInstallMojo.java 2011-08-31 20:32:40 UTC (rev 14649)
+++ trunk/maven-debian-helper/maven-debian-plugin/src/main/java/org/debian/maven/plugin/SysInstallMojo.java 2011-09-01 00:06:53 UTC (rev 14650)
@@ -21,14 +21,13 @@
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import java.util.Map;
import java.util.Properties;
-import org.codehaus.plexus.util.FileUtils;
+
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
+import org.codehaus.plexus.util.FileUtils;
import org.debian.maven.repo.ListOfPOMs;
import org.debian.maven.repo.POMCleaner;
-import org.debian.maven.repo.POMTransformer;
/**
* Install pom and jar files into the /usr/share/hierarchy
@@ -108,6 +107,15 @@
* @readonly
*/
private String jarDir;
+
+ /**
+ * finalname of the artifact
+ *
+ * @parameter expression="${project.build.finalName}"
+ * @required
+ * @readonly
+ */
+ private String finalName;
/**
* Debian directory
@@ -151,6 +159,21 @@
*/
private boolean installToUsj = true;
+ /**
+ * Basename of the JAR inside /usr/share/java
+ */
+ private String usjName;
+
+ /**
+ * Version of the JAR install /usr/share/java
+ */
+ private String usjVersion;
+
+ /**
+ * If true, disable installation of version-less JAR into /usr/share/java
+ */
+ private boolean noUsjVersionless;
+
// ----------------------------------------------------------------------
// Public methods
// ----------------------------------------------------------------------
@@ -307,7 +330,16 @@
protected String jarName()
{
- return artifactId + "-" + version + ".jar";
+ String jarName = "";
+ if (finalName != null && finalName.length() > 0)
+ {
+ jarName += finalName;
+ }
+ else
+ {
+ jarName += artifactId + "-" + version;
+ }
+ return jarName + ".jar";
}
protected String destJarName()
@@ -358,17 +390,66 @@
return "../maven-repo" + destRepoPath() + destJarName();
}
+ /**
+ * Example: /usr/share/java/xml-apis.jar
+ */
protected String fullCompatPath()
{
- return compatSharePath() + compatName();
+ return compatSharePath() + destUsjJarName();
}
+ /**
+ * Example: /usr/share/java/xml-apis-1.3.04.jar
+ */
protected String versionedFullCompatPath()
{
- return compatSharePath() + destJarName();
+ return compatSharePath() + destUsjVersionnedJarName();
}
+
+ /**
+ * Compute version-less filename for installation into /usr/share/java
+ */
+ private String destUsjJarName() {
+ String usjJarName = "";
+ if (usjName != null && usjName.length() > 0)
+ {
+ usjJarName += usjName;
+ }
+ else
+ {
+ usjJarName += destArtifactId;
+ }
+
+ return usjJarName + ".jar";
+ }
/**
+ * Compute versionned filename for installation into /usr/share/java
+ */
+ private String destUsjVersionnedJarName() {
+ String usjJarName = "";
+ if (usjName != null && usjName.length() > 0)
+ {
+ usjJarName += usjName;
+ }
+ else
+ {
+ usjJarName += destArtifactId;
+ }
+
+ if (usjVersion != null && usjVersion.length() > 0)
+ {
+ usjJarName += "-" + usjVersion;
+ }
+ else
+ {
+ usjJarName += "-" + version;
+ }
+
+ return usjJarName + ".jar";
+ }
+
+/**
* command for creating the relative symlink
*/
private String[] linkCommand(String source, String dest)
@@ -422,7 +503,9 @@
{
mkdir(compatSharePath());
System.out.println("Install link to " + artifactId + " into /usr/share/java");
- run(linkCommand(compatRelPath(), fullCompatPath()));
+ if (!noUsjVersionless) {
+ run(linkCommand(compatRelPath(), fullCompatPath()));
+ }
run(linkCommand(compatRelPath(), versionedFullCompatPath()));
}
}
@@ -457,6 +540,21 @@
if (pomOption != null && pomOption.getDestPackage() != null) {
destPackage = pomOption.getDestPackage();
}
+
+ // handle usj-name
+ if (pomOption != null && pomOption.getUsjName() != null) {
+ usjName = pomOption.getUsjName();
+ }
+
+ // handle usj-version
+ if (pomOption != null && pomOption.getUsjVersion() != null) {
+ usjVersion = pomOption.getUsjVersion();
+ }
+
+ // handle no-usj-versionless
+ if (pomOption != null) {
+ noUsjVersionless = pomOption.isNoUsjVersionless();
+ }
List params = new ArrayList();
params.add("--keep-pom-version");
More information about the pkg-java-commits
mailing list