You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Stefano Chizzolini (Jira)" <ji...@apache.org> on 2023/03/01 12:04:00 UTC

[jira] [Updated] (MJAVADOC-745) Taglet auto-detection doesn't support transitive dependencies

     [ https://issues.apache.org/jira/browse/MJAVADOC-745?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stefano Chizzolini updated MJAVADOC-745:
----------------------------------------
    Description: The current implementation of the taglet auto-detection algorithm (initial feature request: MJAVADOC-204) lacks proper evaluation of the dependency tree of configured taglet artifacts (see [<tagletArtifacts/>|https://maven.apache.org/plugins/maven-javadoc-plugin/javadoc-mojo.html#tagletArtifacts]): _each artifact on the taglet classpath is scanned separately_ (see [AbstractJavadocMojo.addTagletsFromTagletArtifacts(..)|https://github.com/apache/maven-javadoc-plugin/blob/a5db96e7e16cc432d8fdea05f460f6c3fa258ba9/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java#L5901] and [JavadocUtil.getTagletClassNames(..)|https://github.com/apache/maven-javadoc-plugin/blob/a5db96e7e16cc432d8fdea05f460f6c3fa258ba9/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java#L721]), _causing taglet class loading to fail in case its hierarchy is spread across multiple artifacts_ (its class loader has visibility only on a single artifact at a time, in the wrong assumption that no intermediate artifact lies between the Taglet interface and its implementations).  (was: The current implementation of the taglet auto-detection algorithm (initial feature request: MJAVADOC-204) lacks proper evaluation of the dependency tree of the configured taglet artifacts (see [<tagletArtifacts/>|https://maven.apache.org/plugins/maven-javadoc-plugin/javadoc-mojo.html#tagletArtifacts]): _each artifact on the taglet classpath is scanned separately_ (see [AbstractJavadocMojo.addTagletsFromTagletArtifacts(..)|https://github.com/apache/maven-javadoc-plugin/blob/a5db96e7e16cc432d8fdea05f460f6c3fa258ba9/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java#L5901] and [JavadocUtil.getTagletClassNames(..)|https://github.com/apache/maven-javadoc-plugin/blob/a5db96e7e16cc432d8fdea05f460f6c3fa258ba9/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java#L721]), _causing taglet class loading to fail in case its hierarchy is spread across multiple artifacts_ (its class loader has visibility only on a single artifact at a time, in the wrong assumption that no intermediate artifact lies between the Taglet interface and its implementations).)

> Taglet auto-detection doesn't support transitive dependencies
> -------------------------------------------------------------
>
>                 Key: MJAVADOC-745
>                 URL: https://issues.apache.org/jira/browse/MJAVADOC-745
>             Project: Maven Javadoc Plugin
>          Issue Type: Bug
>          Components: javadoc
>    Affects Versions: 3.4.1
>            Reporter: Stefano Chizzolini
>            Priority: Major
>
> The current implementation of the taglet auto-detection algorithm (initial feature request: MJAVADOC-204) lacks proper evaluation of the dependency tree of configured taglet artifacts (see [<tagletArtifacts/>|https://maven.apache.org/plugins/maven-javadoc-plugin/javadoc-mojo.html#tagletArtifacts]): _each artifact on the taglet classpath is scanned separately_ (see [AbstractJavadocMojo.addTagletsFromTagletArtifacts(..)|https://github.com/apache/maven-javadoc-plugin/blob/a5db96e7e16cc432d8fdea05f460f6c3fa258ba9/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java#L5901] and [JavadocUtil.getTagletClassNames(..)|https://github.com/apache/maven-javadoc-plugin/blob/a5db96e7e16cc432d8fdea05f460f6c3fa258ba9/src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java#L721]), _causing taglet class loading to fail in case its hierarchy is spread across multiple artifacts_ (its class loader has visibility only on a single artifact at a time, in the wrong assumption that no intermediate artifact lies between the Taglet interface and its implementations).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)