You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mp...@apache.org on 2006/06/23 02:28:06 UTC

svn commit: r416525 - /maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java

Author: mperham
Date: Thu Jun 22 17:28:06 2006
New Revision: 416525

URL: http://svn.apache.org/viewvc?rev=416525&view=rev
Log:
PR: MNG-2284
Submitted by: Fredrik Vraalsen
Merge user-supplied and programmatic Class-Path entries in manifest

Modified:
    maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java

Modified: maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java?rev=416525&r1=416524&r2=416525&view=diff
==============================================================================
--- maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java (original)
+++ maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java Thu Jun 22 17:28:06 2006
@@ -65,7 +65,18 @@
             {
                 String key = (String) iter.next();
                 String value = (String) entries.get( key );
-                addManifestAttribute( manifest, key, value );
+                Manifest.Attribute attr = manifest.getMainSection().getAttribute(key);
+                if ( key.equals( "Class-Path" ) && attr != null )
+                {
+                    // Merge the user-supplied Class-Path value with the programmatically
+                    // generated Class-Path.  Note that the user-supplied value goes first
+                    // so that resources there will override any in the standard Class-Path.
+                    attr.setValue( value + " " + attr.getValue() );
+                }
+                else
+                {
+                    addManifestAttribute( manifest, key, value );
+                }
             }
         }