Author: dennisl
Date: Fri Aug 1 10:16:44 2008
New Revision: 681754
URL: http://svn.apache.org/viewvc?rev=681754&view=rev
Log:
[MSHARED-50] Manifest sections are only added to the manifest when the archive
is created
Modified:
maven/shared/trunk/maven-archiver/pom.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/pom.xml
URL:
http://svn.apache.org/viewvc/maven/shared/trunk/maven-archiver/pom.xml?rev=681754&r1=681753&r2=681754&view=diff
==============================================================================
--- maven/shared/trunk/maven-archiver/pom.xml (original)
+++ maven/shared/trunk/maven-archiver/pom.xml Fri Aug 1 10:16:44 2008
@@ -85,7 +85,7 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>3.8.1</version>
+ <version>3.8.2</version>
<scope>test</scope>
</dependency>
</dependencies>
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=681754&r1=681753&r2=681754&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
Fri Aug 1 10:16:44 2008
@@ -81,6 +81,33 @@
}
}
+ // any custom manifest sections in the archive configuration manifest?
+ if ( !config.isManifestSectionsEmpty() )
+ {
+ List sections = config.getManifestSections();
+ for ( Iterator iter = sections.iterator(); iter.hasNext(); )
+ {
+ ManifestSection section = (ManifestSection) iter.next();
+ Manifest.Section theSection = new Manifest.Section();
+ theSection.setName( section.getName() );
+
+ if ( !section.isManifestEntriesEmpty() )
+ {
+ Map sectionEntries = section.getManifestEntries();
+ Set keys = sectionEntries.keySet();
+ for ( Iterator it = keys.iterator(); it.hasNext(); )
+ {
+ String key = (String) it.next();
+ String value = (String) sectionEntries.get( key );
+ Manifest.Attribute attr = new Manifest.Attribute( key,
value );
+ theSection.addConfiguredAttribute( attr );
+ }
+ }
+
+ manifest.addConfiguredSection( theSection );
+ }
+ }
+
return manifest;
}
@@ -364,33 +391,6 @@
Manifest manifest = getManifest( workingProject, archiveConfiguration
);
- // any custom manifest sections in the archive configuration manifest?
- if ( !archiveConfiguration.isManifestSectionsEmpty() )
- {
- List sections = archiveConfiguration.getManifestSections();
- for ( Iterator iter = sections.iterator(); iter.hasNext(); )
- {
- ManifestSection section = (ManifestSection) iter.next();
- Manifest.Section theSection = new Manifest.Section();
- theSection.setName( section.getName() );
-
- if ( !section.isManifestEntriesEmpty() )
- {
- Map entries = section.getManifestEntries();
- Set keys = entries.keySet();
- for ( Iterator it = keys.iterator(); it.hasNext(); )
- {
- String key = (String) it.next();
- String value = (String) entries.get( key );
- Manifest.Attribute attr = new Manifest.Attribute( key,
value );
- theSection.addConfiguredAttribute( attr );
- }
- }
-
- manifest.addConfiguredSection( theSection );
- }
- }
-
// Configure the jar
archiver.addConfiguredManifest( manifest );
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=681754&r1=681753&r2=681754&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
Fri Aug 1 10:16:44 2008
@@ -441,7 +441,35 @@
}
}
}
-
+
+ /**
+ * Test to make sure that manifest sections are present in the manifest
prior to the archive has been created.
+ */
+ public void testManifestSections()
+ throws Exception
+ {
+ MavenArchiver archiver = new MavenArchiver();
+
+ MavenProject project = getDummyProject();
+ MavenArchiveConfiguration config = new MavenArchiveConfiguration();
+
+ ManifestSection manifestSection = new ManifestSection();
+ manifestSection.setName( "SectionOne" );
+ manifestSection.addManifestEntry( "key", "value" );
+ List manifestSections = new ArrayList();
+ manifestSections.add( manifestSection );
+ config.setManifestSections( manifestSections );
+
+ Manifest manifest = archiver.getManifest( project, config );
+
+ Manifest.Section section = manifest.getSection( "SectionOne" );
+ assertNotNull( "The section is not present in the manifest as it
should be.", section );
+
+ Manifest.Attribute attribute = section.getAttribute( "key" );
+ assertNotNull( "The attribute we are looking for is not present in the
section.", attribute );
+ assertEquals( "The value of the attribute is wrong.", "value",
attribute.getValue() );
+ }
+
public void testDefaultClassPathValue()
throws Exception
{