You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2005/10/14 08:08:55 UTC

svn commit: r321028 - in /maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver: ManifestSection.java MavenArchiveConfiguration.java MavenArchiver.java

Author: brett
Date: Thu Oct 13 23:08:51 2005
New Revision: 321028

URL: http://svn.apache.org/viewcvs?rev=321028&view=rev
Log:
PR: MNG-1202
Submitted by: Mark Russell
add support for sections in the manifest

Added:
    maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/ManifestSection.java   (with props)
Modified:
    maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiveConfiguration.java
    maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java

Added: maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/ManifestSection.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/ManifestSection.java?rev=321028&view=auto
==============================================================================
--- maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/ManifestSection.java (added)
+++ maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/ManifestSection.java Thu Oct 13 23:08:51 2005
@@ -0,0 +1,40 @@
+package org.apache.maven.archiver;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class ManifestSection {
+
+	private String name = null;
+	
+	private Map manifestEntries = new HashMap();
+	
+	public void setName( String name ) {
+		this.name = name;
+	}
+	
+	public String getName() {
+		return name;
+	}
+	
+    public void addManifestEntry( Object key, Object value )
+    {
+        manifestEntries.put( key, value );
+    }
+
+    public void addManifestEntries( Map map )
+    {
+        manifestEntries.putAll( map );
+    }
+
+    public boolean isManifestEntriesEmpty()
+    {
+        return manifestEntries.isEmpty();
+    }
+
+    public Map getManifestEntries()
+    {
+        return manifestEntries;
+    }
+
+}

Propchange: maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/ManifestSection.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/ManifestSection.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiveConfiguration.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiveConfiguration.java?rev=321028&r1=321027&r2=321028&view=diff
==============================================================================
--- maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiveConfiguration.java (original)
+++ maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiveConfiguration.java Thu Oct 13 23:08:51 2005
@@ -17,7 +17,9 @@
  */
 
 import java.io.File;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -39,6 +41,8 @@
 
     private Map manifestEntries = new HashMap();
 
+    private List manifestSections = new ArrayList();
+    
     public boolean isCompress()
     {
         return compress;
@@ -101,5 +105,21 @@
     public Map getManifestEntries()
     {
         return manifestEntries;
+    }
+    
+    public void addManifestSection( ManifestSection section ) {
+    	manifestSections.add( section );
+    }
+    
+    public void addManifestSections( List list ) {
+    	manifestSections.addAll( list );
+    }
+    
+    public boolean isManifestSectionsEmpty() {
+    	return manifestSections.isEmpty();
+    }
+    
+    public List getManifestSections() {
+    	return manifestSections;
     }
 }

Modified: maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java?rev=321028&r1=321027&r2=321028&view=diff
==============================================================================
--- maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java (original)
+++ maven/components/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java Thu Oct 13 23:08:51 2005
@@ -293,6 +293,32 @@
             }
         }
 
+        // 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 );