ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dave <davidcor...@gmail.com>
Subject Any way to have Ivy create an Ant path?
Date Thu, 12 Jun 2008 15:03:52 GMT
Hey all,
I can't find anything about this in the documentation so I thought I'd ask
here.
Our current build setup uses tools like PMD, Findbugs, etc.
Take for example PMD.
It has dependencies on a couple of other libraries.
Normally the libraries required for PMD are in the same directory as the PMD
jar, which allows you to created a classpath for PMD with something like the
following:

<path id="pmd.classpath">
<fileset dir="${pmd.lib.dir}" includes="*.jar"/>
</path>
<taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask"
classpathref="pmd.classpath"/>

That's the current way of doing things. In the Ivy world, the extenal libs
that PMD depends on would and should not be stored in the same directory as
PMD.
This means you have to craft a more complex classpath for PMD, and repeat
for each version of PMD, if each new version of PMD uses newer third party
libraries.

A solution to this problem would be to have Ivy generate the classpath for
the user. The user could pass in the name,version,and configuration it needs
a classpath for, and ivy can generate an Ant path with a user-specified path
id.
Something like:

<ivy:path org="pmd "module="pmd" version="4.2.2" conf="default"
pathid="pmd.classpath"/>
or
<ivy:path file="pmd/pmd/4.2.2/ivy.xml" conf="default"
pathid="pmd.classpath"/>

allowing me to then use:
<taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask"
classpathref="pmd.classpath"/>


Is there anything like this in Ivy now? If not does anyone else think it's a
good idea?

Any thoughts/comments appreciated :-)

-- 
There are 10 types of people in the world.
Those who understand binary and those who do not.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message