mirror of https://github.com/apache/maven.git
PR: MNG-1202
Submitted by: Mark Russell add support for sections in the manifest git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@321028 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
ff32b5fdaf
commit
731f897a42
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -17,7 +17,9 @@ package org.apache.maven.archiver;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -39,6 +41,8 @@ public class MavenArchiveConfiguration
|
||||||
|
|
||||||
private Map manifestEntries = new HashMap();
|
private Map manifestEntries = new HashMap();
|
||||||
|
|
||||||
|
private List manifestSections = new ArrayList();
|
||||||
|
|
||||||
public boolean isCompress()
|
public boolean isCompress()
|
||||||
{
|
{
|
||||||
return compress;
|
return compress;
|
||||||
|
@ -102,4 +106,20 @@ public class MavenArchiveConfiguration
|
||||||
{
|
{
|
||||||
return manifestEntries;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -293,6 +293,32 @@ public class MavenArchiver
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 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
|
// Configure the jar
|
||||||
archiver.addConfiguredManifest( manifest );
|
archiver.addConfiguredManifest( manifest );
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue