-
Notifications
You must be signed in to change notification settings - Fork 1.4k
CXF-7600: Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility #420
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Hi @reta, Thanks a lot! |
deki
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. I would change the names for plugins to have it more consistent.
maven-plugins/codegen-plugin/pom.xml
Outdated
| <version>3.2.5-SNAPSHOT</version> | ||
| </parent> | ||
| <properties> | ||
| <cxf.module.name>org.apache.cxf.codegen.plugin</cxf.module.name> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
org.apache.cxf.plugin.codegen
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
maven-plugins/corba/pom.xml
Outdated
| <version>3.2.5-SNAPSHOT</version> | ||
| </parent> | ||
| <properties> | ||
| <cxf.module.name>org.apache.cxf.corbatools.plugin</cxf.module.name> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
org.apache.cxf.plugin.corbatools
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
| </parent> | ||
| <properties> | ||
| <cxf.module.name>org.apache.cxf.java2swagger.plugin</cxf.module.name> | ||
| <cxf.manifest.location /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
org.apache.cxf.plugin.java2swagger
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
| <version>3.2.5-SNAPSHOT</version> | ||
| </parent> | ||
| <properties> | ||
| <cxf.module.name>org.apache.cxf.java2wadl.plugin</cxf.module.name> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
org.apache.cxf.plugin.java2wadl
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
maven-plugins/java2ws-plugin/pom.xml
Outdated
| <version>3.2.5-SNAPSHOT</version> | ||
| </parent> | ||
| <properties> | ||
| <cxf.module.name>org.apache.cxf.java2ws.plugin</cxf.module.name> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
org.apache.cxf.plugin.java2ws
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
| <version>3.2.5-SNAPSHOT</version> | ||
| </parent> | ||
| <properties> | ||
| <cxf.module.name>org.apache.cxf.wadl2java.plugin</cxf.module.name> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
org.apache.cxf.plugin.wadl2java
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
| </parent> | ||
| <properties> | ||
| <cxf.module.name>org.apache.cxf.wsdl.validator.plugin</cxf.module.name> | ||
| </properties> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
org.apache.cxf.plugin.wsdl-validator
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minus is an issue in module names so looks good IMHO
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
|
Are all our dependencies already Java 9 modules? If not I do not see any use of making CXF jars modules. Not sure of course as I have not yet used modules myself. |
ilgrosso
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
I agree with @deki about plugins naming, though.
|
@cschneider it is important for users developping in j9 to have stable names even is packaging is not yet optimized. Default implicit names doesnt work well OOTB and would be broken later otherwise. |
|
@cschneider Right, most of our dependencies are not full-fledged Java modules (and I think it will take a long time for it to happen). Adding To give you an idea, the example I posted in the description contains the declaration to dependent Those are deducted from JAR file names. |
ilgrosso
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @reta !
| <version>3.2.5-SNAPSHOT</version> | ||
| </parent> | ||
| <properties> | ||
| <cxf.module.name>org.apache.cxf.plugin.wsdl-validator</cxf.module.name> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know it was part of my proposal but while reading it again I wonder if hyphen is allowed, because for package names it's not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is allowed - compared to underscores or leading numbers which are not supported - but not very well integrated AFAIK in the ecosystem so avoiding it is not bad.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, so org.apache.cxf.plugin.wsdl.validator is OK?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes :)
|
@cschneider What do you think about this PR? Good to go? |
cschneider
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
…bility (apache#420) CXF-7600: Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility
…bility (apache#420) CXF-7600: Add Automatic-Module-Name MANIFEST entry for Java 9 compatibility
This PR (work in progress) adds
Automatic-Module-Nameto all CXF modules in order to provide the consistent way to deal with CXF in the modern modular (JPMS-based) Java applications. The list of modules is included below:Since we publish test artifacts as well, they have been enriched with
Automactic-Module-Nameentry as well (otherwiseMaven Archiver Pluginincluded an empty one):The naming scheme has been adopted following the Stephen Colebourne recommendations (http://blog.joda.org/2017/04/java-se-9-jpms-module-naming.html) and based on package name.
The typical example which illustrates the usage of selected CXF modules from the modular Java application (in this case, the one which leverages SSE capabilities) looks like that: