Multi-Module Project: module that depends on sibling test jar cannot execute 
test-compile without install of sibling first
--------------------------------------------------------------------------------------------------------------------------

                 Key: MNG-3559
                 URL: http://jira.codehaus.org/browse/MNG-3559
             Project: Maven 2
          Issue Type: Bug
          Components: Bootstrap & Build
    Affects Versions: 2.0.9, 2.0.8
            Reporter: Joshua Pollak
         Attachments: 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 contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to