Author: olamy
Date: Sun Dec 30 14:30:22 2007
New Revision: 607603

URL: http://svn.apache.org/viewvc?rev=607603&view=rev
Log:
[MNG-3342] Impossible to create entries with empty value in MANIFEST

Modified:
    maven/shared/trunk/maven-archiver/src/changes/changes.xml
    
maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
    
maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java

Modified: maven/shared/trunk/maven-archiver/src/changes/changes.xml
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-archiver/src/changes/changes.xml?rev=607603&r1=607602&r2=607603&view=diff
==============================================================================
--- maven/shared/trunk/maven-archiver/src/changes/changes.xml (original)
+++ maven/shared/trunk/maven-archiver/src/changes/changes.xml Sun Dec 30 
14:30:22 2007
@@ -29,6 +29,7 @@
       <action type="add" dev="olamy" issue="MNG-3332">Class-Path manifest 
entry should support maven repository layout.</action>
       <action type="add" dev="olamy" issue="MNG-3334">Add a changes report in 
maven-archiver.</action>
       <action type="add" dev="olamy" issue="MNG-3329">Improve the 
documentation concerning the archiver configuration.</action>
+      <action type="fix" dev="olamy" issue="MNG-3342">Impossible to create 
entries with empty value in MANIFEST</action>
     </release>
     <release version="2.2" date="2006-09-29">
     </release>

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=607603&r1=607602&r2=607603&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
 Sun Dec 30 14:30:22 2007
@@ -108,10 +108,16 @@
     private void addManifestAttribute( Manifest manifest, String key, String 
value )
         throws ManifestException
     {
-        // Use the empty string to suppress a Manifest entry
-        if ( value != null && !"".equals( value ) )
+        if ( !StringUtils.isEmpty( value ) )
         {
             Manifest.Attribute attr = new Manifest.Attribute( key, value );
+            manifest.addConfiguredAttribute( attr );
+        }
+        else
+        {
+            // if the value is empty we have create an entry with an empty 
string 
+            // to prevent null print in the manifest file
+            Manifest.Attribute attr = new Manifest.Attribute( key, "" );
             manifest.addConfiguredAttribute( attr );
         }
     }

Modified: 
maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java?rev=607603&r1=607602&r2=607603&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java
 (original)
+++ 
maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java
 Sun Dec 30 14:30:22 2007
@@ -414,6 +414,7 @@
             Map manifestEntries = new HashMap();
             manifestEntries.put( "foo", "bar" );
             manifestEntries.put( "first-name", "olivier" );
+            manifestEntries.put( "keyWithEmptyValue", null );
             config.setManifestEntries( manifestEntries );
             
             ManifestSection manifestSection = new ManifestSection();
@@ -432,6 +433,7 @@
             inputStream = jar.getInputStream( zipEntry );
             bufferedReader = new BufferedReader( new InputStreamReader( 
inputStream ) );
             Map manifest = getMapFromManifestContent( bufferedReader );
+
             assertEquals( "Apache Maven", manifest.get( "Created-By" ) );
             assertEquals( "archiver test", manifest.get( "Specification-Title" 
) );
             assertEquals( "0.1", manifest.get( "Specification-Version" ) );
@@ -448,6 +450,8 @@
 
             assertEquals( "UserSection", manifest.get( "Name" ) );
             assertEquals( "value", manifest.get( "key" ) );
+            assertTrue( StringUtils.isEmpty( (String) manifest.get( 
"keyWithEmptyValue" ) ) );
+            assertTrue( manifest.containsKey( "keyWithEmptyValue" ) );
             
             assertEquals( System.getProperty( "java.version"), manifest.get( 
"Build-Jdk" ) );
             assertEquals( System.getProperty( "user.name"), manifest.get( 
"Built-By" ) );


Reply via email to