ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maarten Coene <maarten_co...@yahoo.com>
Subject Re: Publishing multiple artifacts ... dependent jars
Date Thu, 23 Apr 2009 21:16:59 GMT

You could use the [originalname] token in your cache patterns to keep to original artifact
name.

Maarten



----- Original Message ----
From: Gavin <johnlas@optusnet.com.au>
To: ivy-user@ant.apache.org
Sent: Thursday, April 23, 2009 4:59:51 PM
Subject: Publishing multiple artifacts ... dependent jars


Hi, 

I am new to Ivy. It is all working quite well, except one small problem...

I am using the CXF java library that has many dependencies. However, these
dependencies are not used by other libraries, so I would like to declare
them in the cxf ivy file.

I have a cfx-2.1.3.jar and about 10 other dependent jars with names like
wsdl4j-1.6.2.jar, xml-resolver-1.2.jar, etc.

I would like them to be retrieved in to my lib dir with their version number
(cfx-2.1.3.jar, wsdl4j-1.6.2.jar, etc). I have used the configuration
below... which works but the dependent artifacts end up with the cfx version
number (i.e wsdl4j-1.6.2-2.1.3.jar).

Is there a way to define dependencies that specify the (relative) location
of the dependency? 

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
    <info organisation="org"
        module="cxf"
        revision="2.1.3"
    />
    <publications>
        <artifact name="cxf" type="jar" ext="jar"/>
        
        <artifact name="jaxb-api-2.1" type="jar" ext="jar"/>
        <artifact name="jaxb-impl-2.1.7" type="jar" ext="jar"/>

My ivy settings are:
<ivysettings>
    <settings 
        defaultResolver="local-repo"
        defaultConflictManager="latest-revision" />
    <caches
        defaultCacheDir="${ivy.cacheDir}"
        ivyPattern="[module]/[revision]/ivy.xml"
        artifactPattern="[module]/[revision]/[artifact]-[revision].[type]"
        >
    </caches>        
    <resolvers>
        <filesystem name="local-repo">
            <ivy pattern="${ivy.localRepoDir}/[module]/[revision]/ivy.xml"/>
            <artifact
pattern="${ivy.localRepoDir}/[module]/[revision]/[artifact]-[revision].[type]"/>
            <!-- Artifacts without the same version number as the module -->
            <artifact
pattern="${ivy.localRepoDir}/[module]/[revision]/[artifact].[type]"/>
        </filesystem>
    </resolvers>
</ivysettings>

Note: I have 2 artifact patterns. One for the artifacts and the other
(without revision numbers) for the dependencies.

Help would be greatly appreciated.

Thanks
Gavin

-- 
View this message in context: http://www.nabble.com/Publishing-multiple-artifacts-...-dependent-jars-tp23197379p23197379.html
Sent from the ivy-user mailing list archive at Nabble.com.


      

Mime
View raw message