Maven test scope not reflecte into test conf
--------------------------------------------

                 Key: IVY-744
                 URL: https://issues.apache.org/jira/browse/IVY-744
             Project: Ivy
          Issue Type: Bug
    Affects Versions: 2.0.0-beta-2
            Reporter: Danno Ferrin
            Priority: Blocker


The pom to ivy file translator incorrectly assigns the test scope of a 
dependency to the runtime conf in the ivy file.

Consider the ivy beta-1 pom from 
http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/ivy/ivy/2.0.0-beta1/ivy-2.0.0-beta1.pom

the current parsed Ivy file is:

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="1.0" xmlns:m="http://ant.apache.org/ivy/maven";>
        <info organisation="org.apache.ivy"
                module="ivy"
                revision="2.0.0-beta1"
                status="integration"
                publication="20071213094244"
        />
        <configurations>
                <conf name="default" visibility="public" description="runtime 
dependencies and master artifact can be used with this conf" 
extends="runtime,master"/>
                <conf name="master" visibility="public" description="contains 
only the artifact published by this module itself, with no transitive 
dependencies"/>
                <conf name="compile" visibility="public" description="this is 
the default scope, used if none is specified. Compile dependencies are 
available in all classpaths."/>
                <conf name="provided" visibility="public" description="this is 
much like compile, but indicates you expect the JDK or a container to provide 
it. It is only available on the compilation classpath, and is not transitive."/>
                <conf name="runtime" visibility="public" description="this 
scope indicates that the dependency is not required for compilation, but is for 
execution. It is in the runtime and test classpaths, but not the compile 
classpath." extends="compile"/>
                <conf name="test" visibility="private" description="this scope 
indicates that the dependency is not required for normal use of the 
application, and is only available for the test compilation and execution 
phases." extends="runtime"/>
                <conf name="system" visibility="public" description="this scope 
is similar to provided except that you have to provide the JAR which contains 
it explicitly. The artifact is always available and is not looked up in a 
repository."/>
                <conf name="optional" visibility="public" description="contains 
all optional dependencies"/>
        </configurations>
        <publications>
                <artifact name="ivy" type="jar" ext="jar" conf="master"/>
        </publications>
        <dependencies>
                <dependency org="ant" name="ant" rev="1.6" force="true" 
conf="optional->compile(*),master(*)"/>
                <dependency org="commons-httpclient" name="commons-httpclient" 
rev="3.0" force="true" conf="optional->compile(*),master(*)"/>
                <dependency org="commons-cli" name="commons-cli" rev="1.0" 
force="true" conf="optional->compile(*),master(*)"/>
                <dependency org="oro" name="oro" rev="2.0.8" force="true" 
conf="optional->compile(*),master(*)"/>
                <dependency org="commons-vfs" name="commons-vfs" rev="1.0" 
force="true" conf="optional->compile(*),master(*)"/>
                <dependency org="jsch" name="jsch" rev="0.1.25" force="true" 
conf="optional->compile(*),master(*)"/>
                <dependency org="junit" name="junit" rev="3.8.2" force="true" 
conf="runtime->compile(*),runtime(*),master(*)"/>
                <dependency org="commons-lang" name="commons-lang" rev="2.3" 
force="true" conf="runtime->compile(*),runtime(*),master(*)"/>
        </dependencies>
</ivy-module>


note that junit and commons-lang have runtime-> when they should have test->

patch forthcoming...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to