<ivy-module version="2.0">
    <info organisation="com.travelclick" module="CoreWebServices" revision="4.1"/>
    <configurations defaultconfmapping="default">
        <conf name="runtime" visibility="public"/>
        <conf name="default" visibility="public"  extends="runtime"/>
    </configurations>
    <dependencies>
        <dependency org="com.travelclick"
            name="commons-all"
            rev="4.1"
            conf="default->default"/>
        <dependency org="com.sun.messaging.mq"
            name="jms"
            rev="4.5.2"
            conf="default->default"/>
        <dependency org="org.jboss.common"
            name="servlet-api"
            rev="4.2"
            conf="default->default"/>
        <dependency org="com.fiorano"
            name="framework"
            rev="2.0"
            conf="default->default"/>
        <dependency org="com.fiorano"
            name="fmq-client"
            rev="9.3.0"
            conf="default->default"/>
        <dependency org="commons-codec"
            name="commons-codec"
            rev="1.3"
            conf="default->default"/>
        <dependency org="commons-httpclient"
            name="commons-httpclient"
            rev="3.1"
            conf="default->default"/>
        <dependency org="commons-lang"
            name="commons-lang"
            rev="2.2"
            conf="default->default"/>
        <dependency org="commons-pool"
            name="commons-pool"
            rev="1.4"
            conf="default->default"/>
    </dependencies>
</ivy-module>
Note that all dependencies are configured as default->default.
In my build.xml, I have the following statements:
 <ivy:resolve conf="default"/>
 <ivy:cachepath pathid="all.libs" conf="default"/>
Note I'm using the default configuration.
I use the all.libs path to download the libraries into my war I'm building.
I get the following libraries in my war, which is what I want:
commons-all-4.1.jar
commons-codec-1.3.jar
commons-httpclient-3.1.jar
commons-lang-2.2.jar
commons-logging-1.0.4.jar
commons-pool-1.4.jar
fmq-client-9.3.0.jar
framework-2.0.jar
jms-4.5.2.jar
servlet-api-4.2.jar
Now, I'll remove the configuration information. This is the same ivy.xml with the <configurations> section removed and all the conf=default->default removed:
<ivy-module version="2.0">
    <info organisation="com.travelclick" module="CoreWebServices" revision="4.1"/>
    <dependencies>
        <dependency org="com.travelclick"
            name="commons-all"
            rev="4.1"/>
        <dependency org="com.sun.messaging.mq"
            name="jms"
            rev="4.5.2"/>
        <dependency org="org.jboss.common"
            name="servlet-api"
            rev="4.2"/>
        <dependency org="com.fiorano"
            name="framework"
            rev="2.0"/>
        <dependency org="com.fiorano"
            name="fmq-client"
            rev="9.3.0"/>
        <dependency org="commons-codec"
            name="commons-codec"
            rev="1.3"/>
        <dependency org="commons-httpclient"
            name="commons-httpclient"
            rev="3.1"/>
        <dependency org="commons-lang"
            name="commons-lang"
            rev="2.2"/>
        <dependency org="commons-pool"
            name="commons-pool"
            rev="1.4"/>
    </dependencies>
</ivy-module>
Naturally, I also have to change by build.xml to remove references to the default configuration:
 <ivy:resolve/>
 <ivy:cachepath pathid="all.libs"/>
But, now look what gets included:
commons-all-4.1.jar
commons-codec-1.3.jar
commons-httpclient-3.1.jar
commons-lang-2.2.jar
commons-logging-1.0.4.jar
commons-pool-1.4.jar
fmq-client-9.3.0.jar
framework-2.0.jar
jms-4.5.2.jar
servlet-api-4.2.jar
commons-httpclient-3.1-sources.jar
commons-codec-1.3-javadoc.jar
commons-codec-1.3-sources.jar
commons-lang-2.2-javadoc.jar
commons-lang-2.2-sources.jar
commons-pool-1.4-sources.jar
Why, when I set everything to default, only the actual jars downloaded and not the source and javadoc jars. Yet, when I removed all configuration, the javadoc and source jars also downloaded.
In fact, where is the configuration of the various jars in the Maven repository stored? I can see the javadoc and source in the Maven repository, but I didn't see anything about various configurations. How does Ivy know whether or not to include the sources and javadoc jars?