GitHub user varunnvs92 opened a pull request:

    https://github.com/apache/httpcomponents-core/pull/65

    Add Automatic-Module-Name in manifest

    Add Automatic-Module-Name in manifest so Java9 modular applications can 
depend on this library.
    
    It is recommended for java libraries in public repositories like Maven 
Central to add Automatic-Module-Name manifest entry. This allows the consumers 
of the library to move to Java 9 modularization and depend on the 
Automatic-Module-Name value instead of the name derived from the Jar file. This 
way, your consumers won't need to make changes when your library is eventually 
converted to a Java 9 module.
    
    Adding Automatic-Module-Name doesn't affect any code and will simply make a 
name reservation until an actual module-info.java will be added eventually. 
More details can be found in this 
[article](https://dzone.com/articles/automatic-module-name-calling-all-java-library-maintainers).
    
    [This 
article](http://blog.joda.org/2017/04/java-se-9-jpms-module-naming.html) has 
best naming practices for JPMS modules. But I could not go with 
```org.apache.http``` (reverse dns package name) as all your modules use the 
same base package name. I think ```org.apache.httpcomponents.core``` seems more 
targeted. Let me know if you have better naming suggestions. 
    
    [AWS Java SDK v2](https://github.com/aws/aws-sdk-java-v2) has a dependency 
on httpclient library which transitively depends on this libarary. We are 
adding module-info files to our library. But we need the Automatic-Module-Name 
in both this library and 
[httpcomponents-client](https://github.com/apache/httpcomponents-client) 
library before we can move to JPMS. Please prioritize this issue and we request 
a release with this change by mid June. If this is approved, I will send a PR 
to httpcomponents-client repo.
    
    I checked effective pom to verify that this change will still bring all 
other manifestEntries from the parent pom.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/varunnvs92/httpcomponents-core 
AddAutomaticModuleName

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/httpcomponents-core/pull/65.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #65
    
----
commit 966ea678b8eb802cc6c217a8ad6b8512e6706b6e
Author: Varun Nandi <varunkn@...>
Date:   2018-05-31T19:22:58Z

    Add Automatic-Module-Name in manifest so Java9 modular applications can 
depend on this library

----


---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org
For additional commands, e-mail: dev-h...@hc.apache.org

Reply via email to