jira-importer opened a new issue, #215:
URL: https://github.com/apache/maven-source-plugin/issues/215

   **[Tagir 
Valeev](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=lany)** 
opened 
**[MSOURCES-144](https://issues.apache.org/jira/browse/MSOURCES-144?redirect=false)**
 and commented
   
   Java 9 introduced multi-release JARs seven years ago (see [JEP 
238](https://openjdk.org/jeps/238)). Since then, Maven support for 
multi-release JARs was gradually improved, and now it's quite easy to create 
and deploy such a project. However, I see a significant unresolved problem: the 
source files for alternative versions of class-files are not automatically 
added to the source jar, and I see no easy way to fix this.
   
   Consider the attached example. It contains two versions of 
com.example.DefaultVersion class, one for Java 8, and one for Java 9. Execute 
`mvn verify`. The resulting multi-release-sample-1.0.jar properly contains 
com/example/DefaultVersion.class as Java 8 compiled version and 
META-INF/versions/9/com/example/DefaultVersion.class as Java 9 compiled 
version. However, the source JAR multi-release-sample-1.0-sources.jar contains 
no Java 9-specific version. I expect that the source jar should add Java 9 
source version under the path 
META-INF/versions/9/com/example/DefaultVersion.java
   
   This has an unpleasant effect: the library sources are incomplete, so the 
library user cannot easily browse them without using decompiler or looking for 
the source repository. This complicates navigation and debugging in IDEs. In 
fact, I've checked dozens of multi-release JARs in Maven Central, and none of 
them contain version-specific sources. It would be great to solve this on the 
maven-source-plugin side, so the library maintainers need only to bump 
source-plugin version to publish the sources properly.
   
   Thank you in advance,
   Tagir Valeev.
   
   
   ---
   
   **Affects:** 3.3.0
   
   **Attachments:**
   - 
[multirelease.zip](https://issues.apache.org/jira/secure/attachment/13067152/multirelease.zip)
 (_2.59 kB_)
   
   1 votes, 3 watchers
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to