[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