ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gavin <john...@optusnet.com.au>
Subject Publishing multiple artifacts ... dependent jars
Date Thu, 23 Apr 2009 14:59:51 GMT

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