On Fri, Jun 6, 2008 at 11:00 AM, Xavier Hanin <[EMAIL PROTECTED]> wrote:
> > > On Fri, Jun 6, 2008 at 12:15 AM, Howard Lewis Ship <[EMAIL PROTECTED]> > wrote: > >> I've update selected parts of my ivy.xml as follows: >> >> <dependency org="org.apache.tapestry" name="tapestry-core" >> rev="5.0.12" conf="runtime"> >> <artifact name="tapestry-core" type="jar" ext="jar"/> >> <artifact name="tapestry-core" type="source" ext="jar" >> m:qualifier="sources"/> >> </dependency> > > > Oops, my mistake, it's not a qualifier, but a classifier in maven > terminology. Hence the dependency should be: > <dependency org="org.apache.tapestry" name="tapestry-core" rev="5.0.12" > conf="runtime"> > <artifact name="tapestry-core" type="jar" ext="jar"/> > <artifact name="tapestry-core" type="source" ext="jar" m:* > classifier*="sources"/> > </dependency> > > I've added a unit test in Ivy to make sure it works properly to get source > artifact like this. > FYI, I've just implemented IVY-325, so with Ivy trunk you can simply do: <dependency org="org.apache.tapestry" name="tapestry-core" rev="5.0.12" conf="runtime->runtime,sources" /> It does not solve the problem transitively though. Xavier > > Xavier > > >> >> However, it's not working, and the same files are showing up in both >> locations: >> >> <dependency org="org.apache.tapestry" name="tapestry-core" >> rev="5.0.12" conf="runtime"> >> <artifact name="tapestry-core" type="jar" ext="jar"/> >> <artifact name="tapestry-core" type="source" ext="jar" >> m:qualifier="sources"/> >> </dependency> >> >> i.e., via: >> >> <ivy:retrieve sync="true" >> pattern="${ivy.lib.dir}/[conf]-[type]s/[artifact]-[revision].[ext]"/> >> >> >> On Thu, Jun 5, 2008 at 9:51 AM, Xavier Hanin <[EMAIL PROTECTED]> >> wrote: >> > It's a namespace, but the URL doesn't really matter, only nonamespace >> > elements are validated against ivy schema. >> > >> > Internally Ivy generates files with: >> > <ivy-module version="1.0" xmlns:m="http://ant.apache.org/ivy/maven"> >> > ... >> > </ivy-module> >> > >> > Xavier >> > >> > On Thu, Jun 5, 2008 at 6:33 PM, Howard Lewis Ship <[EMAIL PROTECTED]> >> wrote: >> > >> >> The m:qualifier part ... is that a namespace? If so, whats the URL? >> >> >> >> On Thu, Jun 5, 2008 at 12:40 AM, Xavier Hanin <[EMAIL PROTECTED]> >> >> wrote: >> >> > As you noted there is an open issue to make Ivy able to find source >> and >> >> > javadoc artifacts automatically from a pom, which is not easy since >> >> there's >> >> > no such information in the pom itself. But this is far from being >> >> > infeasible, especially since we are able to parse parent poms, and >> thus >> >> go >> >> > through the repote repository when converting poms. >> >> > >> >> > Until this is implemented, there are two ways to address what you >> want: >> >> the >> >> > first is what we do in IvyDE, use Ivy API to download source and >> javadoc >> >> > artifacts when available without any change in metadata. BTW if >> you're an >> >> > eclipse user I suggest giving IvyDE a try, you will have source and >> >> javadoc >> >> > attachment for free if you use maven 2 repositories. >> >> > >> >> > The second way is to add source and javadoc artifacts when you >> declare >> >> the >> >> > dependencies. Something like: >> >> > <dependency org="commons-lang" name="commons-lang" rev="2.0"> >> >> > <artifact name="commons-lang" type="jar" /> >> >> > <artifact name="commons-lang" type="source" ext="jar" >> >> > m:qualifier="sources" /> >> >> > <artifact name="commons-lang" type="javadoc" ext="jar" >> >> > m:qualifier="javadoc" /> >> >> > </dependency> >> >> > >> >> > HTH, >> >> > >> >> > Xavier >> >> > On Wed, Jun 4, 2008 at 4:41 PM, Howard Lewis Ship <[EMAIL PROTECTED]> >> >> wrote: >> >> > >> >> >> Well, this is about pulling down source JARs for existing artifacts, >> >> >> so I'm not sure this applies. Perhaps later, when I'm generating >> >> >> artifacts via Ant/Ivy. >> >> >> >> >> >> On Wed, Jun 4, 2008 at 6:54 AM, Loehr, Ruel <[EMAIL PROTECTED]> >> >> wrote: >> >> >> > I'm not sure of the best practice, but one thing that you can do >> is >> >> >> create s a conf called "src". >> >> >> > >> >> >> > >> >> >> > <configurations> >> >> >> > <conf name="src" description="artifacts"/> >> >> >> > </configurations> >> >> >> > >> >> >> > And then publish src artifacts to that configuration >> >> >> > >> >> >> > >> >> >> > <publications> >> >> >> > <artifact name="blogapp" type="zip" conf="src" ext="zip"/> >> >> >> > </publications> >> >> >> > >> >> >> > You could publish them directly into the same conf, but I don't >> like >> >> to >> >> >> do that as I auto configure my classpath to point to the retrieve >> >> location. >> >> >> > >> >> >> > Welcome to ivy. You'll never look to m2 again. >> >> >> > >> >> >> > >> >> >> > -----Original Message----- >> >> >> > From: Howard Lewis Ship [mailto:[EMAIL PROTECTED] >> >> >> > Sent: Tuesday, June 03, 2008 7:48 PM >> >> >> > To: Ant Users List >> >> >> > Subject: Ivy [2.0-beta-2]: Download Source Jars >> >> >> > >> >> >> > I'm just getting started with Ivy, but one thing that is very >> >> >> > important for me is to easily download source JARs where >> available. >> >> >> > >> >> >> > <ivy-module version="2.0"> >> >> >> > <info organisation="com.nfjs.hls" module="blogapp"/> >> >> >> > <configurations> >> >> >> > <conf name="runtime" description="Dependencies needed at >> >> >> runtime."/> >> >> >> > </configurations> >> >> >> > <publications> >> >> >> > <artifact name="blogapp" type="war" conf="runtime" >> ext="war"/> >> >> >> > </publications> >> >> >> > <dependencies> >> >> >> > <dependency org="org.apache.tapestry" name="tapestry-core" >> >> >> > rev="5.0.11" conf="runtime->default"> >> >> >> > <exclude module="servlet-api"/> >> >> >> > </dependency> >> >> >> > </dependencies> >> >> >> > </ivy-module> >> >> >> > >> >> >> > >> >> >> > <project xmlns:ivy="antlib:org.apache.ivy.ant" name="blogapp"> >> >> >> > >> >> >> > <target name="-ivy-setup"> >> >> >> > <ivy:settings file="ivysettings.xml"/> >> >> >> > </target> >> >> >> > >> >> >> > <target name="update-libs" depends="-ivy-setup" >> >> >> > description="Download external library dependencies"> >> >> >> > <ivy:retrieve sync="true" >> >> >> > >> pattern="${ivy.lib.dir}/[conf]-[type]s/[artifact]-[revision].[ext]" >> >> >> > type="jar,source"/> >> >> >> > </target> >> >> >> > >> >> >> > >> >> >> > </project> >> >> >> > >> >> >> > This runs and places my expected dependencies in lib/runtime-jars/ >> as >> >> >> > I want them. >> >> >> > >> >> >> > However, there is no lib/runtime-sources folder. >> >> >> > >> >> >> > I get the same results if I omit the type attribute on >> >> <ivy:retrieve/>. >> >> >> > >> >> >> > How does Ivy associate an artifact with its source artifact? >> >> >> > >> >> >> > The things I'm downloading, tapestry JARs and such, all have >> source >> >> >> > JARs (built and deployed via Maven). >> >> >> > >> >> >> > Thanks for any pointers, >> >> >> > >> >> >> > Howard >> >> >> > >> >> >> > -- >> >> >> > Howard M. Lewis Ship >> >> >> > >> >> >> > Creator Apache Tapestry and Apache HiveMind >> >> >> > >> >> >> > >> --------------------------------------------------------------------- >> >> >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >> > For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> > >> >> >> > >> >> >> > >> --------------------------------------------------------------------- >> >> >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >> > For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> > >> >> >> > >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> >> Howard M. Lewis Ship >> >> >> >> >> >> Creator Apache Tapestry and Apache HiveMind >> >> >> >> >> >> >> --------------------------------------------------------------------- >> >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> >> >> >> > >> >> > >> >> > -- >> >> > Xavier Hanin - Independent Java Consultant >> >> > http://xhab.blogspot.com/ >> >> > http://ant.apache.org/ivy/ >> >> > http://www.xoocode.org/ >> >> > >> >> >> >> >> >> >> >> -- >> >> Howard M. Lewis Ship >> >> >> >> Creator Apache Tapestry and Apache HiveMind >> >> >> >> --------------------------------------------------------------------- >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> > >> > >> > -- >> > Xavier Hanin - Independent Java Consultant >> > http://xhab.blogspot.com/ >> > http://ant.apache.org/ivy/ >> > http://www.xoocode.org/ >> > >> >> >> >> -- >> Howard M. Lewis Ship >> >> Creator Apache Tapestry and Apache HiveMind >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > -- > Xavier Hanin - Independent Java Consultant > http://xhab.blogspot.com/ > http://ant.apache.org/ivy/ > http://www.xoocode.org/ > -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://ant.apache.org/ivy/ http://www.xoocode.org/