You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Guillaume Nodet (Jira)" <ji...@apache.org> on 2022/10/20 08:11:02 UTC
[jira] [Updated] (MNG-6972) Allow access to org.apache.maven.graph
[ https://issues.apache.org/jira/browse/MNG-6972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guillaume Nodet updated MNG-6972:
---------------------------------
Fix Version/s: 4.0.0-alpha-2
> Allow access to org.apache.maven.graph
> --------------------------------------
>
> Key: MNG-6972
> URL: https://issues.apache.org/jira/browse/MNG-6972
> Project: Maven
> Issue Type: Improvement
> Components: Class Loading, Plugin API
> Affects Versions: 3.6.3
> Reporter: Michael Kroll
> Assignee: Michael Osipov
> Priority: Major
> Labels: easyfix, pull-request-available
> Fix For: 3.9.0, 4.0.0-alpha-1, 4.0.0-alpha-2, 4.0.0
>
>
> Hi
> maven doesn't export org.apache.maven.graph package in maven-core/src/main/resources/META-INF/maven/extension.xml so the GraphBuilder is not usable in extensions.
> {code:java}
> // leads to java.lang.NoClassDefFoundError: Lorg/apache/maven/graph/GraphBuilder;
> @Requirement( hint = GraphBuilder.HINT )
> private GraphBuilder graphBuilder;
> {code}
> Background: if one build extension adds dependencies and another build extension uses {{session.getProjectDependencyGraph()}}, then the dependency graph is out of date. This is because the graph is only rebuilt after executing _all_ extensions. One solution to this would be to update the {{MavenSession}} and setting the new dependency graph in the first extension, but for this we need access to the {{GraphBuilder}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)