ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xavier Hanin" <xavier.ha...@gmail.com>
Subject Re: Ivy [2.0-beta-2]: Download Source Jars
Date Fri, 06 Jun 2008 10:14:35 GMT
On Fri, Jun 6, 2008 at 11:00 AM, Xavier Hanin <xavier.hanin@gmail.com>
wrote:

>
>
> On Fri, Jun 6, 2008 at 12:15 AM, Howard Lewis Ship <hlship@gmail.com>
> 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 <xavier.hanin@gmail.com>
>> 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 <hlship@gmail.com>
>> 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 <xavier.hanin@gmail.com>
>> >> 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 <hlship@gmail.com>
>> >> 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 <rloehr@pointserve.com>
>> >> 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:hlship@gmail.com]
>> >> >> > 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: user-unsubscribe@ant.apache.org
>> >> >> > For additional commands, e-mail: user-help@ant.apache.org
>> >> >> >
>> >> >> >
>> >> >> >
>> ---------------------------------------------------------------------
>> >> >> > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>> >> >> > For additional commands, e-mail: user-help@ant.apache.org
>> >> >> >
>> >> >> >
>> >> >>
>> >> >>
>> >> >>
>> >> >> --
>> >> >> Howard M. Lewis Ship
>> >> >>
>> >> >> Creator Apache Tapestry and Apache HiveMind
>> >> >>
>> >> >>
>> ---------------------------------------------------------------------
>> >> >> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
>> >> >> For additional commands, e-mail: user-help@ant.apache.org
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >> > --
>> >> > 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: user-unsubscribe@ant.apache.org
>> >> For additional commands, e-mail: user-help@ant.apache.org
>> >>
>> >>
>> >
>> >
>> > --
>> > 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: user-unsubscribe@ant.apache.org
>> For additional commands, e-mail: user-help@ant.apache.org
>>
>>
>
>
> --
> 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/

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