Certain dependency graph causes tests to not compile
----------------------------------------------------

         Key: MNG-422
         URL: http://jira.codehaus.org/browse/MNG-422
     Project: Maven 2
        Type: Bug
    Versions: 2.0-alpha-2    
 Environment: Windows XP, Cygwin
    Reporter: Mark Hobson
 Attachments: test.zip

The attached projects set up the following rough dependency hierarchy:

  testproject
  +- testdep
  |  +- testdep2
  |  +- testdep3
  |  |  +- ...
  |  |  +- testdep4
  |  |     +- ...
  |  +- commons-logging
  |  +- commons-pool
  +- junit

Not all dependencies are shown for the sake of brevity, but are obviously 
available in the attached poms.

Now unfortuantely every dependency supplied is required to reproduce this bug - 
take one out and it works.  What happens is as follows:

* testdep4: m2 install - ok
* testdep3: m2 install - ok
* testdep2: m2 install - ok
* testdep: m2 install - ok
* testproject: m2 install - error:

[INFO] 
----------------------------------------------------------------------------
[INFO] Building testgroup:testproject:jar:1.0-SNAPSHOT
[INFO] 
----------------------------------------------------------------------------
[INFO] maven-jar-plugin: resolved to version 2.0-alpha-2 from local repository
[INFO] maven-resources-plugin: resolved to version 2.0-alpha-2 from local 
repository
[INFO] maven-compiler-plugin: resolved to version 2.0-alpha-2 from local 
repository
[INFO] maven-surefire-plugin: resolved to version 2.0-alpha-2 from local 
repository
[INFO] maven-install-plugin: resolved to version 2.0-alpha-2 from local 
repository
[INFO] [resources:resources]
[INFO] testdep: using locally installed snapshot
[INFO] testdep2: using locally installed snapshot
[INFO] [compiler:compile]
[INFO] No sources to compile
[INFO] [resources:testResources]
[INFO] [compiler:testCompile]
Compiling 1 source file to c:\Documents and 
Settings\mark\Desktop\testproject\target\test-classes
[INFO] 
----------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] 
----------------------------------------------------------------------------
[INFO] Reason: Compilation failure
[INFO] 
----------------------------------------------------------------------------
[INFO] c:\Documents and 
Settings\mark\Desktop\testproject\src\test\java\Test.java:[3,-1]  cannot find 
symbol

[INFO] 
----------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Sun May 22 11:56:08 BST 2005
[INFO] Final Memory: 2M/12M
[INFO] 
----------------------------------------------------------------------------

So it looks like the classpath is getting mangled somewhere since javac can't 
find junit.  Now if Java5 is turned off in testproject, the following occurs:

[INFO] 
----------------------------------------------------------------------------
[INFO] Building testgroup:testproject:jar:1.0-SNAPSHOT
[INFO] 
----------------------------------------------------------------------------
[INFO] maven-jar-plugin: resolved to version 2.0-alpha-2 from local repository
[INFO] maven-resources-plugin: resolved to version 2.0-alpha-2 from local 
repository
[INFO] maven-compiler-plugin: resolved to version 2.0-alpha-2 from local 
repository
[INFO] maven-surefire-plugin: resolved to version 2.0-alpha-2 from local 
repository
[INFO] maven-install-plugin: resolved to version 2.0-alpha-2 from local 
repository
[INFO] [resources:resources]
[INFO] testdep: using locally installed snapshot
[INFO] testdep2: using locally installed snapshot
[INFO] [compiler:compile]
[INFO] No sources to compile
[INFO] [resources:testResources]
[INFO] [compiler:testCompile]
Compiling 1 source file to c:\Documents and 
Settings\mark\Desktop\testproject\target\test-classes
[INFO] 
----------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] 
----------------------------------------------------------------------------
[INFO] Reason: Compilation failure
[INFO] 
----------------------------------------------------------------------------
[INFO] c:\Documents and 
Settings\mark\Desktop\testproject\src\test\java\Test.java:[3,7]  
TestCase(java.lang.String) in j
unit.framework.TestCase cannot be applied to ()

[INFO] 
----------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Sun May 22 11:56:19 BST 2005
[INFO] Final Memory: 2M/12M
[INFO] 
----------------------------------------------------------------------------

Which could be more telling.  I seem to remember a similar error in a 
completely different project when working with DOM Test Suites 
(http://www.w3.org/DOM/Test/), since their DOM test jars actually contain a 
modified version of junit which a different API.  So I'm not sure if somewhere 
down the dependency graph a DOM test jar is being included which is overriding 
the normal junit one?  A long shot, but thought worth mentioning.

I haven't spent more time bringing all the external dependencies into local 
test dependencies, since I figure you guys would be able to dump the dependency 
graph out quicker.

Any ideas welcome!

-- 
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


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to