You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/11/12 13:32:00 UTC

[jira] [Commented] (MJAVADOC-513) Aggregate: make order of classpath entries predictable

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

ASF GitHub Bot commented on MJAVADOC-513:
-----------------------------------------

kwin opened a new pull request #9: [MJAVADOC-513] make order of classpath predictable
URL: https://github.com/apache/maven-javadoc-plugin/pull/9
 
 
   Rely on LinkedHashMap instead of HashMap to keep the insertion order.
   Always add the additionalDependencies first in the classpath list (to
   make them take precedence).

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> Aggregate: make order of classpath entries predictable
> ------------------------------------------------------
>
>                 Key: MJAVADOC-513
>                 URL: https://issues.apache.org/jira/browse/MJAVADOC-513
>             Project: Maven Javadoc Plugin
>          Issue Type: Improvement
>          Components: javadoc
>    Affects Versions: 3.0.0
>            Reporter: Konrad Windszus
>            Priority: Major
>
> The order of the classpath entries being generated in {{AbstractJavadocMojo.getPathElements()}} (https://github.com/apache/maven-javadoc-plugin/blob/12dbbde29cf6277ca311cb8afffdf02dbfe0c9b4/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java#L2601) is internally relying on a {{HashMap}} for the compile time artifacts. That is an issue if the classpath is not 100% clean (i.e. the same package is exported by multiple artifacts) because then the success depends on the order which is not predicable for regular {{HashMaps}}. Unclean classpaths are unfortunately pretty common in reality. 
> To make builds more reliable please use a {{LinkedHashMap}} instead as that will keep the insertion order. 
> Also since elements being returned first have a higher precedence the ones being maintained via {{additionalDependencies}} should be added first (after the module's target directory but before the compileArtifacts) to allow to enforce usage of a certain module for dedicated classes.



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