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" ) );