[ 
https://issues.apache.org/jira/browse/GERONIMO-6601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16404071#comment-16404071
 ] 

ASF GitHub Bot commented on GERONIMO-6601:
------------------------------------------

GitHub user christopher-johnson opened a pull request:

    https://github.com/apache/geronimo-specs/pull/8

    [GERONIMO-6601] adds Automatic-Module-Name

    the duplication of the maven-jar-plugin configuration in every module 
pom.xml seems required with the current project hierarchy.  
    
    The value of  
    ```xml
    <Automatic-Module-Name>
    ``` 
    is set in a property `<automatic.module.name>` in the event that this 
should change.
    
    The property values are consistent with the top-level exported package name 
with a few exceptions.  Several specs export more than one primary package, for 
example, `geronimo-jcdi_1.0_spec`, that exports
    `javax.decorator` and  `javax.enterprise`.  In that case, I arbitrarily 
chose `javax.decorator`. 

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

    $ git pull https://github.com/christopher-johnson/geronimo-specs 
automatic-modules

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

    https://github.com/apache/geronimo-specs/pull/8.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 #8
    
----
commit 9258a9fb73ffce045ee104523d58c4ddf7b83599
Author: Christopher Hanna Johnson <chjohnson39@...>
Date:   2018-03-18T16:44:05Z

    [GERONIMO-6601] adds Automatic-Module-Name

----


> geronimo spec jar files produce Invalid module name in JPMS 
> ------------------------------------------------------------
>
>                 Key: GERONIMO-6601
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-6601
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: specs
>            Reporter: Christopher Johnson
>            Priority: Major
>
> libraries that depend on geronimo specs cannot be compiled as JPMS modules 
> because of the naming convention used for the jars and the absence of an 
> {{Automatic-Module-Name}} directive in MANIFEST.MF. 
> Reference: 
> [https://docs.oracle.com/javase/9/docs/api/java/lang/module/ModuleFinder.html#of-java.nio.file.Path...-]
>  for how JPMS determines module names.
> For example, geronimo-annotation_1.2_spec-1.0-alpha-1.jar causes this 
> exception:
>  
> {code:java}
> Error occurred during initialization of boot layer 
> java.lang.module.FindException: Unable to derive module descriptor for 
> /home/christopher/.gradle/caches/modules-2/files-2.1/org.apache.geronimo.specs/geronimo-annotation_1.2_spec/1.0-alpha-1/804747c40f1145ae9cc13cb9e927fca82e6e3c1b/geronimo-annotation_1.2_spec-1.0-alpha-1.jar
>  Caused by: java.lang.IllegalArgumentException: geronimo.annotation.1.2.spec: 
> Invalid module name: '1' is not a Java identifier
> {code}
> This problem occurs with all geronimo specs that include a version in the 
> artifact ID.  For example, activemq-client depends on 
> geronimo-j2ee-management_1.1_spec-1.0.1.jar so it cannot be compiled as a 
> JPMS module.
>  
> Solution could be to add 
> {code:java}
> Automatic-Module-Name
> {code}
> to the pom.xml:
>  
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to