[ 
https://issues.apache.org/jira/browse/MASSEMBLY-450?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Osipov updated MASSEMBLY-450:
-------------------------------------
    Affects Version/s: 3.1.1

> manifestEntries ignored when manfestFile is specified
> -----------------------------------------------------
>
>                 Key: MASSEMBLY-450
>                 URL: https://issues.apache.org/jira/browse/MASSEMBLY-450
>             Project: Maven Assembly Plugin
>          Issue Type: Bug
>          Components: manifest
>    Affects Versions: 2.2-beta-4, 3.1.1
>            Reporter: Robert Cauble
>            Priority: Major
>         Attachments: example.zip
>
>
> The maven jar plugin supports the behavior of manifestEntries overriding the 
> manifestFile as indicated here:
> http://maven.apache.org/guides/mini/guide-manifest.html
> However, within the maven assembly plugin, if manifestFile is specified, 
> manifestEntries is ignored.
> Reproduction
> ============
> {noformat}
> > unzip example.zip
> > cd example
> > mvn package
> > cd target
> > unzip example-4.2-plugin.jar
> > cat META-INF/MANFEST
> {noformat}
> Results:
> {noformat}
> Manifest-Version: 1.0
> Archiver-Version: Plexus Archiver
> Created-By: 14.0-b16 (Sun Microsystems Inc.)
> Bundle-ManifestVersion: 2
> Bundle-Name: example
> Bundle-SymbolicName: example; singleton:=true
> Bundle-Version: 1.0
> {noformat}
> Expected:
> {noformat}
> Manifest-Version: 1.0
> Archiver-Version: Plexus Archiver
> Created-By: 14.0-b16 (Sun Microsystems Inc.)
> Bundle-ManifestVersion: 2
> Bundle-Name: example
> Bundle-SymbolicName: example; singleton:=true
> Bundle-Version: 4.2
> {noformat}
> The problem appears to be in the class ManifestConfigurationFinalizer:
> {code:java}
> if ( manifestFile != null )
> {
>    ...
>    manifest = new Manifest( manifestFileReader );
>    ...
> }
> else
> {
>    manifest = mavenArchiver.getManifest( project, 
> archiveConfiguration.getManifest() );
> }
> {code}
> I believe the fix is to change to the following (this already handles merging 
> the manifest file with the configured manifestEntries)
> {code:java}
> manifest = mavenArchiver.getManifest( project, archiveConfiguration );
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to