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

Slawomir Jaranowski closed MJAR-292.
------------------------------------
    Fix Version/s: next-release
         Assignee: Slawomir Jaranowski
       Resolution: Fixed

> Detect MRJAR and add manifest entry
> -----------------------------------
>
>                 Key: MJAR-292
>                 URL: https://issues.apache.org/jira/browse/MJAR-292
>             Project: Maven JAR Plugin
>          Issue Type: Improvement
>    Affects Versions: 3.3.0
>            Reporter: Jorge Solórzano
>            Assignee: Slawomir Jaranowski
>            Priority: Major
>             Fix For: next-release
>
>
> With the aim of reducing boilerplate, the maven-jar-plugin should be able to 
> autodetect Multi-Release JAR and include the manifest entry automatically.
> To create a Multi-Release JAR right now is necessary to add the configuration 
> by adding to the manifest the entry: {{Multi-Release: true}}
> {code:xml}
>         <plugin>
>           <groupId>org.apache.maven.plugins</groupId>
>           <artifactId>maven-jar-plugin</artifactId>
>           <version>3.3.0</version>
>           <configuration>
>             <archive>
>               <manifestEntries>
>                 <Multi-Release>true</Multi-Release>
>               </manifestEntries>
>             </archive>
>           </configuration>
>         </plugin>
> {code}
> This is pure boilerplate and unneeded since we can detect if a JAR is 
> multi-release by simply checking if it contains the {{META-INF/versions/}} 
> directory.
> My proposal is to detect the included files and check if a path contains that 
> directory and automatically add the manifest entry.
> This can be controlled with a property that by default will be enabled, and 
> to restore the previous behavior it can be disabled:
> {code:java}
>     @Parameter( property = "maven.jar.detectMultiReleaseJar", defaultValue = 
> "true" )
>     private boolean detectMultiReleaseJar;
> {code}
> This will allow us to follow convention-over-configuration to not require to 
> manually set the manifest entry for a JAR that we already know should contain 
> the manifest entry.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to