ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ar92 <arothk...@coheris.com>
Subject Issues with install and iBiblio
Date Wed, 09 Apr 2008 15:17:28 GMT

Hi. I'm evaluating tools to add dependency management to an existing project
with complex ant scripts.  Ivy is the front-runner, but I've had a few
problems.  I thought I'd start with the install task.

I'm using 2.0.0-beta 2 with ant 1.7.0.  

As a simple test, I have tried several variations on install calls and have
not been satisfied with any of the results.

For example, here's my target with 3 :

    <target name="install" description="--> copy files to the local
repository">
        <ivy:install matcher="glob" from="libraries2" to="libraries3"
overwrite="true" transitive="true" organisation="log4j" module="log4j"
revision="1.2.15" />
        <ivy:install matcher="glob" from="libraries2" to="libraries3"
overwrite="true" transitive="true" organisation="org/apache/ant"
module="ant" revision="*" />
        <ivy:install matcher="glob" from="libraries2" to="libraries3"
overwrite="true" transitive="true" organisation="org/*" module="*"
revision="*" />
    </target>

I'll paste the resolvers config below, but first the results: 
  The log4j jar is successfully retrieved, but not the dependencies from its
POM.  
  The second install task throws an exception.  I first tried setting
"organisation" to "org.apache.ant", but Ivy failed to find it in the iBiblio
path. So I changed it to use slashes instead of dots, and the lib was found,
but with the following results:

[ivy:install] ERROR:    libraries2: bad organisation found in
http://repo1.maven
.org/maven2/org/apache/ant/ant/1.7.0/ant-1.7.0.pom:
expected='org/apache/ant' fo
und='org.apache.ant'
[ivy:install] java.text.ParseException: inconsistent module descriptor file
foun
d in 'http://repo1.maven.org/maven2/org/apache/ant/ant/1.7.0/ant-1.7.0.pom':
bad
 organisation: expected='org/apache/ant' found='org.apache.ant';
[ivy:install]   at
org.apache.ivy.plugins.resolver.BasicResolver.checkDescriptor
Consistency(BasicResolver.java:504)
[ivy:install]   at
org.apache.ivy.plugins.resolver.BasicResolver.getDependency(B
asicResolver.java:236)
[ivy:install]   at
org.apache.ivy.plugins.resolver.IBiblioResolver.getDependency
(IBiblioResolver.java:291)
[ivy:install]   at
org.apache.ivy.core.resolve.IvyNode.loadData(IvyNode.java:225
)

It never got to the third tag. I was hoping to see what it would do and how
long it would take.


So here are the resolvers:

        <chain name="libraries">
  		<filesystem name="libraries3">
			<artifact
pattern="${repository.dir}/[organisation]/[module]/[revision]/[artifact].[ext]"
/>
			<ivy pattern="${repository.dir}/[module]-[revision].xml" />
		</filesystem>
		<ibiblio name="libraries2" m2compatible="true" usepoms="true" /> 
    </chain>

I tried both usepoms=true and usepoms=false, with the same results. (Aside:
I will probably change my ivy pattern for libraries3 to match the artifact
pattern, but I would not expect it to have caused these problems.  I did
receive an ivy file for log4j in the filesystem, although it contained no
dependencies.)

So did I miss something here, or is this a big bug? It was my understanding
that m2compatible=true means that the resolver can handle the way Maven
breaks up the org into directories.  

-- 
View this message in context: http://www.nabble.com/Issues-with-install-and-iBiblio-tp16586962p16586962.html
Sent from the ivy-user mailing list archive at Nabble.com.


Mime
View raw message