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 09:00:56 GMT
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.

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/

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