[ http://jira.codehaus.org/browse/MNG-742?page=all ]
     
Brett Porter closed MNG-742:
----------------------------

     Assign To: Brett Porter
    Resolution: Fixed

applied. Please use patches and the Maven formatting in future.

> Added functionality to maven-archiver so plug-ins can add custom entries to 
> the archiver's manifest
> ---------------------------------------------------------------------------------------------------
>
>          Key: MNG-742
>          URL: http://jira.codehaus.org/browse/MNG-742
>      Project: Maven 2
>         Type: Improvement
>   Components: maven-archiver
>     Versions: 2.0-alpha-3
>     Reporter: Timothy Bennett
>     Assignee: Brett Porter
>     Priority: Critical
>      Fix For: 2.0-beta-1
>  Attachments: MavenArchiveConfiguration.java, MavenArchiver.java
>
>
> Added functionality to the maven-archiver plugin so that other plugins can 
> add custom manifest entries.  Made some fairly minor changes to both 
> MavenArchiveConfiguration.java and MavenArchiver.java.  Description of 
> changes below, and I've attached my marked up changes to the M2 HEAD of both 
> files.
> MavenArchiveConfiguration.java
> =========================
> Added the following methods (along with appropriate imports):
>         private Map manifestEntries = new HashMap();
>       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;
>       }
> Changes maintain a collection of custom manifest entries stored a name-value 
> pairs.  Plugins use the first two methods to add custom manifest entries to 
> the collection.  MavenArchiver uses the last two methods to retrieve the set 
> of entries and add them to the archive's manifest.
> ===============
> MavenArchiver.java
> ===============
> In the createArchive() method of MavenArchiver, added the following marked 
> code block to retrieve the custom manifest entries (if any available) from 
> the MavenArchiveConfiguration and add them to the archive's manifest.
>         Manifest manifest = getManifest( project, 
> archiveConfiguration.getManifest() );
> // THIS IS THE START OF THE CODE BLOCK I ADDED
>               // any custom manifest entries in the archive configuration 
> manifest?
>               if (!archiveConfiguration.isManifestEntriesEmpty()) {
>                       Map entries = archiveConfiguration.getManifestEntries();
>                       Set keys = entries.keySet();
>                       for (Iterator iter = keys.iterator(); iter.hasNext(); ) 
> {
>                               String key = (String) iter.next();
>                               String value = (String) entries.get(key);
>                               Manifest.Attribute attr = new 
> Manifest.Attribute(key, value);
>                               manifest.addConfiguredAttribute(attr);
>                       }
>               }
> // THIS IS THE END OF THE CODE BLOCK I ADDED
>         // Configure the jar
>         archiver.addConfiguredManifest( manifest );

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to