You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Nicholas Williams (JIRA)" <ji...@codehaus.org> on 2013/01/27 19:15:13 UTC

[jira] (MNG-3559) Multi-Module Project: module that depends on sibling test jar cannot execute test-compile without install of sibling first

    [ https://jira.codehaus.org/browse/MNG-3559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=318108#comment-318108 ] 

Nicholas Williams commented on MNG-3559:
----------------------------------------

[Copied my comment from MEXEC-91, which I suspect might actually be the same bug as this.]
Is there any update on this? It has been a year since anyone said anything about it. I have what I thought was a simple project structure, but I cannot get it to build:

core
licensor-base depends on core:jar (compile) and core:test-jar (test)
licensor-ui-core depends on core:jar (compile), licensor-base:jar (compile) and core:test-jar (test)
licensor-ui-cli depends on core:jar (compile), licensor-base:jar (compile), licensor-ui-core:jar (compile) and core:test-jar (test)
licensor-ui-desktop depends on core:jar (compile), licensor-base:jar (compile), licensor-ui-core:jar (compile) and core:test-jar (test)

[ERROR] Failed to execute goal on project licensor-base: Could not resolve dependencies for project net.nicholaswilliams.java.licensing:licensor-base:jar:1.1.0-SNAPSHOT: Could not find artifact net.nicholaswilliams.java.licensing:core:jar:tests:1.1.0-SNAPSHOT -> [Help 1]

I have tried the following executions:

Original: {code}mvn package javadoc:aggregate-jar assembly:single checksum:files{code}

Added to original: {code}mvn test-compile package javadoc:aggregate-jar assembly:single checksum:files{code}

Tried simpler (skip Javadoc, assembly, checksum): {code}mvn test-compile package{code}

Tried compile only: {code}mvn test-compile{code}

Only the last one worked. But this is useless, because I need to test, package, document, assemble and checksum my projects.

IMO, this is NOT a feature request, it is a serious bug.

Can somebody provide some insight? Is there some workaround I have not tried yet?
[End copy from MEXEC-91]

I noticed that a patch was provided for this bug five years ago, and the bug was last updated two and a half years ago. Why has this not been fixed yet???

Update: I also tried running `mvn test-compile` and THEN immediately running `mvn package javadoc:aggregate-jar assembly:single checksum:files` after that succeeds, but the second step fails with the same message.
                
> Multi-Module Project: module that depends on sibling test jar cannot execute test-compile without install of sibling first
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MNG-3559
>                 URL: https://jira.codehaus.org/browse/MNG-3559
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Bootstrap & Build
>    Affects Versions: 2.0.8, 2.0.9
>            Reporter: Joshua Pollak
>             Fix For: Issues to be reviewed for 3.x
>
>         Attachments: ActiveProjectTestJar-2.0.9.patch, ActiveProjectTestJar-r2-2.0.9.patch, demoPom-0.0.2-src.tgz, demoPom.tgz
>
>
> We have project with a few sibling modules:
> * Project
> ----moduleA
>           +-- /src/main/java (Common Code)
>           +-- /src/test/java    (Common Test Framework)
> ----moduleB
> ----moduleC
>           +-- /src/main/java (Production Code, depends on moduleA Common code)
>           +-- /src/test/java    (Production Test Framework, depends on moduleA Common Test Framework)
> I dont think there is anything wrong with this project in concept. moduleC's "main" code depends son moduleA's "main" code, and moduleC's test code depends on moduleA's test code.
> This works if I run 'mvn install', but for rapid development, we often run single unit tests and need to be able to run "mvn test" from the top level project, which fails.
> For an example, download the attached project and run "mvn test" from the trunk directory. It will fail with the error pasted below. Then, run "mvn install" and everything works ok. We should be able to run our unit tests without having to install first.
> [INFO] ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO] ------------------------------------------------------------------------
> [INFO] Failed to resolve artifact.
> Missing:
> ----------
> 1) com.kiva.demoPom:moduleA:test-jar:tests:0.0.1-SNAPSHOT
>   Try downloading the file manually from the project website.
>   Then, install it using the command: 
>       mvn install:install-file -DgroupId=com.kiva.demoPom -DartifactId=moduleA -Dversion=0.0.1-SNAPSHOT -Dclassifier=tests -Dpackaging=test-jar -Dfile=/path/to/file
>   Alternatively, if you host your own repository you can deploy the file there: 
>       mvn deploy:deploy-file -DgroupId=com.kiva.demoPom -DartifactId=moduleA -Dversion=0.0.1-SNAPSHOT -Dclassifier=tests -Dpackaging=test-jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
>   Path to dependency: 
>   	1) com.kiva.demoPom:moduleC:jar:0.0.1-SNAPSHOT
>   	2) com.kiva.demoPom:moduleA:test-jar:tests:0.0.1-SNAPSHOT
> ----------
> 1 required artifact is missing.
> for artifact: 
>   com.kiva.demoPom:moduleC:jar:0.0.1-SNAPSHOT
> from the specified remote repositories:
>   central (http://repo1.maven.org/maven2)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira