If you have a bunch of jars that are part of teiid rather take library that teiid depends on, you could specify them using artifact elements in your teiid ivy file. There are implicit artifacts that match your module name if you don't specify them explicitly. I would probably flatten the tree, putting all needed jars in one dir, then get a one-file-per-line directory listing, and wrap each line with
<artifact name="..." type="jar" conf="default " /> Or whatever is appropriate, then stick the whole mess in the appropriate place in the teiid ivy file (not your project's ivy file) http://ant.apache.org/ivy/history/latest-milestone/ivyfile/publications.html Original Message From: Gary Gregory Sent: Friday, April 25, 2014 14:28 To: ivy-user@ant.apache.org Reply To: ivy-user@ant.apache.org Subject: Re: How do I add all jars in a zip as dependencies? 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....@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 <garydgreg...@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....@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: garydgreg...@gmail.com | ggreg...@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: garydgreg...@gmail.com | ggreg...@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: garydgreg...@gmail.com | ggreg...@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