ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Gregory <garydgreg...@gmail.com>
Subject Re: How do I add all jars in a zip as dependencies?
Date Fri, 25 Apr 2014 21:27:43 GMT
Thank you all for your replies.

It seems that for all the avenues proposed, I'd have to end up writing an
ivy.xml file, _which is what I want to avoid_. Even if I did that
programmatically, what would it contain based on a directory full of jars?

Could I just make up dummy org names and module names, since there's not
going to be OSGi type of info in most of these jars files. I guess not
since I'd have to give the file back to Ivy for by calling  ivy:resolve.

What I want is <ivy:resolveJars dir="..." pattern="*.jar" conf="..."/> but
that does not exist :(

At the end of the day I want the jars on a classpath in IvyDE and Ant.

In Ant I can do the above easily "make a cp from all the jars over here",
but in IvyDE? I guess I'll have to add them all to the .classpath file, not
great...

Am I missing something?

Gary


On Fri, Apr 25, 2014 at 3:34 PM, Zac Jacobson <pie.fed@gmail.com> wrote:

> I don't know an approach to generate the dependencies lines at build time.
> I think you'd have to by-script or by-hand create the dependency lines in
> an ivy file somewhere.
>
> For a package resolver, when you're defining the package you would also
> define an ivy.xml file with dependencies for each conf in that package.
> Then from your project, you would depend only on your teiid package, and
> let ivy cascade through the dependencies as usual. This would be an
> advantage if you are depending on teiid from multiple projects, you would
> only need to manage those dependencies in one place.
>
> Regardless of where you do this, if there's dependencies in teiid that
> match existing libraries (but named slightly differently) in your primary
> repository, then you can tweak your ivy file to match the module names that
> you're familiar with so you don't get duplicate classes in different jars
> on your classpath. As an aside: I believe this is a large part of the
> motivation behind the ivy roundup project.
>
> Ivy roundup source is available for checkout. I did a quick search around
> in there: have a look at the org.glassfish.jersey module package for an
> example of a larger project with lots of configurations and dependencies.
>
> https://code.google.com/p/ivyroundup/
>
> Good luck!
> Zac
>
>
> On Fri, Apr 25, 2014 at 12:00 PM, Gary Gregory <garydgregory@gmail.com
> >wrote:
>
> > Hm... so the package resolver sounds like a nice way to cache downloaded
> > zips and unzip the contents into the ivy cache in one step (albeit a
> heavy
> > step, which is fine.)
> >
> > But... how does this address the meat of my problem: I want all the jars
> in
> > the zip to end up as dependencies for my conf such that my project can be
> > built with Ant and Eclipse IvyDE.
> >
> > If I have to list all 102 dependencies one at a time in dependency
> > elements, then I do not need all of this unzipping and I can do it the
> > 'classic' way... arg.
> >
> > Thoughts?
> >
> > Gary
> >
> >
> > On Fri, Apr 25, 2014 at 11:27 AM, <pie.fed@gmail.com> wrote:
> >
> > > Could you use the package resolver to fetch the dependency in a way
> that
> > > you don't have to do any explicit manipulations after you have the
> > > artifacts?
> > >
> > > ‎
> >
> http://ant.apache.org/ivy/history/latest-milestone/resolver/packager.html
> > >
> > > It would take some effort to define the package config.
> > >
> > >
> > >   Original Message
> > > From: Gary Gregory
> > > Sent: Friday, April 25, 2014 07:49
> > > To: ivy-user@ant.apache.org
> > > Reply To: ivy-user@ant.apache.org
> > > Subject: How do I add all jars in a zip as dependencies?
> > >
> > > Hi All:
> > >
> > > I am working on a project to embed Teiid (FOSS project from JBoss) in
> our
> > > application. The embedded zip file for this project contains 103 jars
> > > scattered in many directories. Adding the top level jars from this
> > project
> > > through the dependency element with 'transitive' set to truedoes not
> work
> > > because some dependencies fail because some modules include variables
> > like
> > > "org.apache.accumulo#accumulo-core;${version.accumulo}"
> > >
> > > So instead I've created a trigger like this:
> > >
> > > <triggers>
> > > <ant-call target="teiid-unzip" prefix="teiid-unzip"
> > > event="post-download-artifact" filter="organization=org.jboss.teiid AND
> > > module=teiid AND revision=${teiid.version} AND type=zip AND
> > > status=successful"/>
> > > </triggers>
> > >
> > > To unzip the file locally. Next up: how do I add all the jars as
> > > dependencies? Is there a *.jar kind of call I can make/configure?
> > >
> > > Thank you,
> > > Gary
> > >
> > > --
> > > E-Mail: garydgregory@gmail.com | ggregory@apache.org
> > > Java Persistence with Hibernate, Second Edition<
> > > http://www.manning.com/bauer3/>
> > > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> > > Spring Batch in Action <http://www.manning.com/templier/>
> > > Blog: http://garygregory.wordpress.com
> > > Home: http://garygregory.com/
> > > Tweet! http://twitter.com/GaryGregory
> > >
> >
> >
> >
> > --
> > E-Mail: garydgregory@gmail.com | ggregory@apache.org
> > Java Persistence with Hibernate, Second Edition<
> > http://www.manning.com/bauer3/>
> > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> > Spring Batch in Action <http://www.manning.com/templier/>
> > Blog: http://garygregory.wordpress.com
> > Home: http://garygregory.com/
> > Tweet! http://twitter.com/GaryGregory
> >
>



-- 
E-Mail: garydgregory@gmail.com | ggregory@apache.org
Java Persistence with Hibernate, Second Edition<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

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