Author: fgiust
Date: Sun Nov 26 05:30:33 2006
New Revision: 479358

URL: http://svn.apache.org/viewvc?view=rev&rev=479358
Log:
- fix NPE in stripQualifier when version range is null
- add a new "forceQualifier" parameter

Modified:
    
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/InstallPluginsMojo.java
    
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/MakeArtifactsMojo.java

Modified: 
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/InstallPluginsMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/InstallPluginsMojo.java?view=diff&rev=479358&r1=479357&r2=479358
==============================================================================
--- 
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/InstallPluginsMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/InstallPluginsMojo.java
 Sun Nov 26 05:30:33 2006
@@ -251,7 +251,8 @@
         Attributes attributes = null;
         try
         {
-            JarFile jar = new JarFile( artifact.getFile() );
+            // don't verify, plugins zipped by eclipse:make-artifacts could 
have a bad signature
+            JarFile jar = new JarFile( artifact.getFile(), false );
             Manifest manifest = jar.getManifest();
             attributes = manifest.getMainAttributes();
         }

Modified: 
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/MakeArtifactsMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/MakeArtifactsMojo.java?view=diff&rev=479358&r1=479357&r2=479358
==============================================================================
--- 
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/MakeArtifactsMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/MakeArtifactsMojo.java
 Sun Nov 26 05:30:33 2006
@@ -143,6 +143,15 @@
     private boolean stripQualifier;
 
     /**
+     * Default token to use as a qualifier. Tipically qualifiers for plugins 
in the same eclipse build are different.
+     * This parameter can be used to "align" qualifiers so that all the 
plugins coming from the same eclipse build can
+     * be easily identified. For example, setting this to "M3" will force the 
pluging versions to be "*.*.*.M3"
+     * 
+     * @parameter expression="${forcedQualifier}"
+     */
+    private String forcedQualifier;
+
+    /**
      * Specifies a remote repository to which generated artifacts should be 
deployed to. If this property is specified,
      * artifacts are also deployed to the remote repo.
      * The format for this parameter is <code>id::layout::url</code>
@@ -259,7 +268,8 @@
         {
             try
             {
-                JarFile jar = new JarFile( file );
+                // don't verify, jars created from unzipped plugin could have 
a bad signature
+                JarFile jar = new JarFile( file, false );
                 manifest = jar.getManifest();
                 pluginProperties = loadPluginProperties( jar );
             }
@@ -300,7 +310,11 @@
             return;
         }
 
-        if ( stripQualifier && StringUtils.countMatches( version, "." ) > 2 )
+        if ( StringUtils.isNotEmpty( forcedQualifier ) && 
StringUtils.countMatches( version, "." ) > 2 )
+        {
+            version = StringUtils.substring( version, 0, version.lastIndexOf( 
"." ) ) + "." + forcedQualifier;
+        }
+        else if ( stripQualifier && StringUtils.countMatches( version, "." ) > 
2 )
         {
             version = StringUtils.substring( version, 0, version.lastIndexOf( 
"." ) );
         }
@@ -538,16 +552,15 @@
                 }
             }
 
-            if ( addQualifier )
-            {
-                version = addQualifierToVersionsInRange( version );
-            }
-
             if ( version == null )
             {
                 getLog().info( "Missing version for artifact " + artifactId + 
", assuming any version > 0" );
                 version = "[0.0.0.0,)";
             }
+            else if ( addQualifier )
+            {
+                version = addQualifierToVersionsInRange( version );
+            }
 
             Dependency dep = new Dependency();
             dep.setArtifactId( artifactId );
@@ -572,6 +585,12 @@
      */
     protected String addQualifierToVersionsInRange( String versionRange )
     {
+        // should not be called with a null versionRange, but a check doesn't 
hurt...
+        if ( versionRange == null )
+        {
+            return null;
+        }
+
         StringBuffer newVersionRange = new StringBuffer();
 
         Matcher matcher = VERSION_PATTERN.matcher( versionRange );


Reply via email to