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

Vasilii Gulevich commented on MNG-8711:
---------------------------------------

Following test works fine, but I can't find where a full list of reactor 
projects would be formed during normal execution.
{code:java}
    @Test
    void testResolutionWithInitialFiltering() throws Exception {
        MavenSession session = createMavenSession(
                new 
File("src/test/projects/lifecycle-dependency-resolver/pom.xml"), new 
Properties(), true);
        Collection<String> scopesToCollect = null;
        Collection<String> scopesToResolve = 
Collections.singletonList("compile");
        boolean aggregating = false;
        session.getProjects().forEach(p -> p.setArtifactFilter(artifact -> 
true));
        Set<Artifact> projectArtifacts =
                
session.getProjects().stream().map(MavenProject::getArtifact).collect(Collectors.toSet());
        for (MavenProject reactorProject : session.getProjects()) {
            resolver.resolveProjectDependencies(
                    reactorProject, scopesToCollect, scopesToResolve, session, 
aggregating, projectArtifacts);
        }
    }
{code}

> "Duplicate artifact" in LifecycleDependencyResolver
> ---------------------------------------------------
>
>                 Key: MNG-8711
>                 URL: https://issues.apache.org/jira/browse/MNG-8711
>             Project: Maven
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 3.9.9
>            Reporter: Vasilii Gulevich
>            Priority: Major
>              Labels: backport
>             Fix For: 3.9.10
>
>
> When building a multimodule project with "--threads=10" argument, following 
> exception happens:
> {code:java}
> java.lang.IllegalStateException: Duplicate artifact resolution result for 
> project org.eclipse.rcptt:ecl:2.6.0-SNAPSHOT
>     at 
> org.apache.maven.project.artifact.DefaultProjectArtifactsCache.assertUniqueKey
>  (DefaultProjectArtifactsCache.java:207)
>     at org.apache.maven.project.artifact.DefaultProjectArtifactsCache.put 
> (DefaultProjectArtifactsCache.java:196)
>     at 
> org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies
>  (LifecycleDependencyResolver.java:138)
>     at 
> org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved
>  (MojoExecutor.java:368)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute 
> (MojoExecutor.java:313)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:212)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:174)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 
> (MojoExecutor.java:75)
>     at org.apache.maven.lifecycle.internal.MojoExecutor$1.run 
> (MojoExecutor.java:162)
>     at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute 
> (DefaultMojosExecutionStrategy.java:39)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:159)
>     at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
> (LifecycleModuleBuilder.java:105)
>     at io.takari.maven.builder.smart.SmartBuilderImpl.buildProject 
> (SmartBuilderImpl.java:206)
>     at io.takari.maven.builder.smart.SmartBuilderImpl$ProjectBuildTask.run 
> (SmartBuilderImpl.java:71)
>     at java.util.concurrent.Executors$RunnableAdapter.call 
> (Executors.java:572)
>     at java.util.concurrent.FutureTask.run (FutureTask.java:317)
>     at java.util.concurrent.ThreadPoolExecutor.runWorker 
> (ThreadPoolExecutor.java:1144)
>     at java.util.concurrent.ThreadPoolExecutor$Worker.run 
> (ThreadPoolExecutor.java:642)
>     at java.lang.Thread.run (Thread.java:1583) {code}
> This is already fixed in [https://github.com/apache/maven/pull/1425], but is 
> not backported to 3.9.x.
>  
>  



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

Reply via email to