Tests in projects whose paths contains spaces fails: Reason: maven-test-plugin 
resolves to plexus-utils:1.1 
------------------------------------------------------------------------------------------------------------

                 Key: NPANDAY-416
                 URL: https://issues.apache.org/jira/browse/NPANDAY-416
             Project: NPanday
          Issue Type: Bug
          Components: Maven Plugins
    Affects Versions: 1.3.1-incubating
            Reporter: Lars Corneliussen
             Fix For: 1.3.1-incubating


Again I found a problem in the handling of quotes and whitespaces. It occurs, 
when I try to run tests on a project that has Spaces in the path.

{code:title=As executed by NPanday}
CMD.EXE /X /C nunit-console L:\Writing\dotnetpro\NPanday\hello-npanday-vs (Plus 
Tests)\HelloNPanday\HelloNPanday.Logic.Test\target/test-assemblies\HelloNPanday.Logic.Test-test.dll
 /xml:"L:\Writing\dotnetpro\NPanday\hello-npanday-vs (Plus 
Tests)\HelloNPanday\HelloNPanday.Logic.Test\target\nunit-reports\TEST-HelloNPanday.Logic.Test-1.0-SNAPSHOT.xml"
 /output:"L:\Writing\dotnetpro\NPanday\hello-npanday-vs (Plus 
Tests)\HelloNPanday\HelloNPanday.Logic.Test\target\nunit-reports\TEST-HelloNPanday.Logic.Test-1.0-SNAPSHOT-RESULTS.txt"
 /err:"L:\Writing\dotnetpro\NPanday\hello-npanday-vs (Plus 
Tests)\HelloNPanday\HelloNPanday.Logic.Test\target\nunit-reports\TEST-HelloNPanday.Logic.Test-1.0-SNAPSHOT-ERROR.txt"
 /labels
{code}

{code:title=As it should be}
CMD.EXE /X /C nunit-console "L:\Writing\dotnetpro\NPanday\hello-npanday-vs 
(Plus 
Tests)\HelloNPanday\HelloNPanday.Logic.Test\target/test-assemblies\HelloNPanday.Logic.Test-test.dll"
 "/xml:L:\Writing\dotnetpro\NPanday\hello-npanday-vs (Plus 
Tests)\HelloNPanday\HelloNPanday.Logic.Test\target\nunit-reports\TEST-HelloNPanday.Logic.Test-1.0-SNAPSHOT.xml"
 "/output:L:\Writing\dotnetpro\NPanday\hello-npanday-vs (Plus 
Tests)\HelloNPanday\HelloNPanday.Logic.Test\target\nunit-reports\TEST-HelloNPanday.Logic.Test-1.0-SNAPSHOT-RESULTS.txt"
 "/err:L:\Writing\dotnetpro\NPanday\hello-npanday-vs (Plus 
Tests)\HelloNPanday\HelloNPanday.Logic.Test\target\nunit-reports\TEST-HelloNPanday.Logic.Test-1.0-SNAPSHOT-ERROR.txt"
 /labels
{code}

Crap, crap, crap. I just found out, that the problem is because at runtime, the 
wrong plexus-utils version is resolved :((

Different versions used are:

 * 1.0.4 <- fails with MethodMissing
 * 1.1   <- seems to be used
 * 1.4.1 <- from here would be ok
 * 1.4.5
 * 1.5.1
 * 1.5.5

Even if the test-plugin should resolve to 1.4.5:
{code}
[DEBUG] maven-test-plugin: using locally installed snapshot
[DEBUG] Adding managed dependencies for unknown:maven-test-plugin
[DEBUG]   npanday:dotnet-assembler:jar:1.3.1-incubating-SNAPSHOT
[DEBUG]   npanday:dotnet-dao-project:jar:1.3.1-incubating-SNAPSHOT
[DEBUG]   npanday:dotnet-executable:jar:1.3.1-incubating-SNAPSHOT
[DEBUG]   npanday:dotnet-artifact:jar:1.3.1-incubating-SNAPSHOT
[DEBUG]   npanday:dotnet-plugin:jar:1.3.1-incubating-SNAPSHOT
[DEBUG]   npanday:dotnet-registry:jar:1.3.1-incubating-SNAPSHOT
[DEBUG]   npanday:dotnet-repository:jar:1.3.1-incubating-SNAPSHOT
[DEBUG]   npanday:dotnet-core:jar:1.3.1-incubating-SNAPSHOT
[DEBUG]   npanday:dotnet-vendor:jar:1.3.1-incubating-SNAPSHOT
[DEBUG]   npanday:dotnet-model-netdependency:jar:1.3.1-incubating-SNAPSHOT
[DEBUG]   npanday:dotnet-model-assembly-plugins:jar:1.3.1-incubating-SNAPSHOT
[DEBUG]   npanday:dotnet-model-compiler-plugins:jar:1.3.1-incubating-SNAPSHOT
[DEBUG]   npanday:dotnet-model-executable-plugins:jar:1.3.1-incubating-SNAPSHOT
[DEBUG]   
npanday:dotnet-model-configuration-appenders:jar:1.3.1-incubating-SNAPSHOT
[DEBUG]   npanday:dotnet-model-settings:jar:1.3.1-incubating-SNAPSHOT
[DEBUG]   org.apache.maven:maven-core:jar:2.0.9
[DEBUG]   org.apache.maven:maven-artifact:jar:2.0.9
[DEBUG]   org.apache.maven:maven-project:jar:2.0.9
[DEBUG]   org.apache.maven:maven-plugin-api:jar:2.0.9
[DEBUG]   net.sf.kxml:kxml2:jar:2.1.8
[DEBUG]   xmlpull:xmlpull:jar:1.1.3.4a
[DEBUG]   org.codehaus.plexus:plexus-archiver:jar:1.0-alpha-9
[DEBUG]   org.codehaus.plexus:plexus-utils:jar:1.4.5
[DEBUG]   org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-32
[DEBUG]   org.codehaus.plexus:plexus-component-api:jar:1.0-alpha-32
[DEBUG]   org.codehaus.plexus:plexus-classworlds:jar:1.2-alpha-10
[DEBUG]   org.slf4j:slf4j-jdk14:jar:1.5.11
[DEBUG]   org.slf4j:slf4j-api:jar:1.5.11
{code}

Finding this in many places in the log. Which rule makes 1.1 override 1.4.5?
{code}
[DEBUG] Retrieving parent-POM: org.codehaus.plexus:plexus:pom:1.0.4 for 
project: null:plexus-utils:jar:1.1 from the repository.
[DEBUG]   org.codehaus.plexus:plexus-utils:jar:1.4.5:runtime (removed - nearer 
found: 1.1)
[DEBUG]   org.codehaus.plexus:plexus-utils:jar:1.1:runtime (selected for 
runtime)
{code}

** Workaround **
Specify version explicitely:
{code}
      <plugin>
        <groupId>npanday.plugin</groupId>
        <artifactId>maven-test-plugin</artifactId>
        <dependencies>
          <dependency>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-utils</artifactId>
            <version>1.4.5</version>
          </dependency>
        </dependencies>
      </plugin>
{code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to