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

Karl Heinz Marbaise commented on MINVOKER-191:
----------------------------------------------

The problem can simply be solved by using a dependency to project-2 in your 
project-3. The thing is that the order of the reactor causes this problem. The 
maven-invoker-plugin:install will get all dependencies and all artifacts from 
the reactor. Excerpt from the docs:

{quote}More precisely, all artifacts of the project itself, all its locally 
reachable parent POMs and all its dependencies from the reactor will be 
installed to the local repository. {quote}

The root cause here is the order of execution which is defined by the 
dependencies between the modules in the reactor. The reactor itself can't be 
influenced by a plugin....for example to add dependencies to change the order, 
cause the plugin will too late when the topological sorting of the reactor has 
already been done.

So the real question is: Is install goal doing it right? After thinking about 
this it does not.


> “Artifact is not fully assembled” error with maven-invoker-plugin in parallel 
> build
> -----------------------------------------------------------------------------------
>
>                 Key: MINVOKER-191
>                 URL: https://issues.apache.org/jira/browse/MINVOKER-191
>             Project: Maven Invoker Plugin
>          Issue Type: Bug
>    Affects Versions: 1.10
>            Reporter: Tavian Barnes
>
> According to the docs 
> (https://maven.apache.org/plugins/maven-invoker-plugin/install-mojo.html), 
> maven-invoker-plugin is "thread-safe and supports parallel builds." However, 
> when I build by multi-module project with -T 1C, I get an error like the 
> following:
> bq. [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-invoker-plugin:1.10:install (integration-test) 
> on project my-archetype: Failed to install project dependencies: 
> MavenProject: com.tavianator:my-archetype:1.6-SNAPSHOT @ 
> /home/tavianator/code/Project/my-archetype/pom.xml: Failed to install project 
> artifacts: MavenProject: com.tavianator:my-project-2:1.6-SNAPSHOT @ 
> /home/tavianator/code/Project/my-project-2/pom.xml: Failed to install 
> artifact: com.tavianator:my-project-2:jar:1.6-SNAPSHOT: Artifact is not fully 
> assembled: /home/tavianator/code/Project/my-project-2/target/classes -> [Help 
> 1]
> The project layout is like this:
> {code}
> Root
> |--Project 1
> |--Project 2
> |--Archetype (depends on Project 1, scope=test)
> {code}
> The archetype integration tests use the maven-invoker-plugin to install the 
> relevant dependencies (Root and Project 1) to a local repository, then runs 
> the normal archetype integration tests. In parallel builds, Archetype and 
> Project 2 run at the same time. When the maven-invoker-plugin runs, it tries 
> to install Project 2 to the local repo, but Project 2 isn't built yet, hence 
> the error.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to