[
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: (was: 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
> 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)