Add maven2 resolver?

View: New views
8 Messages — Rating Filter:   Alert me  

Add maven2 resolver?

by Xavier Hanin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

Now that Ivy is using maven 2 repository as default public repository, and
that we see many people trying to leverage maven 2 repositories, I'm
wondering if we shouldn't introduce a maven2 resolver. This resolver would
basically be the equivalent of ibiblio resolver with m2compatible set to
true. The advantage is a better name, and we can make also other
improvements. For instance, we could set checkConsistency to false on this
resolver, since pretty often people complain about inconsitencies in maven2
repo (see for instance last comments on [1]). We may also set the
changingPattern to make SNAPSHOT dependencies work (more than that needs to
be done, this should be addressed in IVY-501). We may even try to make this
resolver leverage maven2 cache, for people who work with both Ivy and maven
2 on the same machine.

WDYT?

Xavier

[1]
http://tapestryjava.blogspot.com/2007/11/maven-wont-get-fooled-again.html
--
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/

Parent Message unknown Re: Add maven2 resolver?

by aditsu :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi, IMHO it would be much better to build a clean, well-organized and reliable ivy repository instead of supporting that maven garbage. By the way, why was IvyRep abandoned? I think that would be the best solution, to have an official ivy rep., ideally containing artifacts too.
I have nothing against [better] supporting maven reps for those who prefer it, but I don't see why it should have a higher priority than supporting an ivy rep.
Anyway, I've never used maven (and from what I read about it, I avoided a world of suffering), and during the few minutes I spent with the ibiblio resolver before ditching it, I found these main problems:
- bad org names
- very old versions for some modules
- source and javadoc artifacts not supported (except by IvyDE)
Therefore the only solution was to manually build an "enterprise repository" from scratch. This could be avoided if an IvyRep was maintained (at least I could do "install").

Just a new user's opinion :)

Adrian

----- Original Message ----
From: Xavier Hanin <xavier.hanin@...>
To: Ant Developers List <dev@...>
Sent: Saturday, February 9, 2008 2:44:15 AM
Subject: Add maven2 resolver?


Hi,

Now
that
Ivy
is
using
maven
2
repository
as
default
public
repository,
and
that
we
see
many
people
trying
to
leverage
maven
2
repositories,
I'm
wondering
if
we
shouldn't
introduce
a
maven2
resolver.
This
resolver
would
basically
be
the
equivalent
of
ibiblio
resolver
with
m2compatible
set
to
true.
The
advantage
is
a
better
name,
and
we
can
make
also
other
improvements.
For
instance,
we
could
set
checkConsistency
to
false
on
this
resolver,
since
pretty
often
people
complain
about
inconsitencies
in
maven2
repo
(see
for
instance
last
comments
on
[1]).
We
may
also
set
the
changingPattern
to
make
SNAPSHOT
dependencies
work
(more
than
that
needs
to
be
done,
this
should
be
addressed
in
IVY-501).
We
may
even
try
to
make
this
resolver
leverage
maven2
cache,
for
people
who
work
with
both
Ivy
and
maven
2
on
the
same
machine.

WDYT?

Xavier

[1]
http://tapestryjava.blogspot.com/2007/11/maven-wont-get-fooled-again.html
--
Xavier
Hanin
-
Independent
Java
Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/






      ____________________________________________________________________________________
Looking for last minute shopping deals?  
Find them fast with Yahoo! Search.  http://tools.search.yahoo.com/newsearch/category.php?category=shopping

Re: Add maven2 resolver?

by Nicolas Lalevée-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Le 8 févr. 08 à 21:29, Adrian Sandor a écrit :

> Hi, IMHO it would be much better to build a clean, well-organized  
> and reliable ivy repository instead of supporting that maven  
> garbage. By the way, why was IvyRep abandoned? I think that would be  
> the best solution, to have an official ivy rep., ideally containing  
> artifacts too.
> I have nothing against [better] supporting maven reps for those who  
> prefer it, but I don't see why it should have a higher priority than  
> supporting an ivy rep.
> Anyway, I've never used maven (and from what I read about it, I  
> avoided a world of suffering), and during the few minutes I spent  
> with the ibiblio resolver before ditching it, I found these main  
> problems:
> - bad org names
> - very old versions for some modules
> - source and javadoc artifacts not supported (except by IvyDE)
> Therefore the only solution was to manually build an "enterprise  
> repository" from scratch.

Well, to build a "entreprise repository", you will need some  
"entreprise maintainers". And looking at the number of artifacts  
available on ibiblio, for me it is a kind of magic to have Ivy support  
maven repositories. And we have to admit that maven is more popular  
than Ivy, so people will still continue to publish maven artifacts,  
even non maven-built projects as Lucene.

And on the contrary, we could imagine to have some ivy.xml just next  
to the pom.xml on the maven repositories, so we could have a IvyRep2  
with not that much effort from the developer (non necessarily ivy  
ones) community.

Nicolas

> This could be avoided if an IvyRep was maintained (at least I could  
> do "install").
>
> Just a new user's opinion :)
>
> Adrian
>
> ----- Original Message ----
> From: Xavier Hanin <xavier.hanin@...>
> To: Ant Developers List <dev@...>
> Sent: Saturday, February 9, 2008 2:44:15 AM
> Subject: Add maven2 resolver?
>
>
> Hi,
>
> Now
> that
> Ivy
> is
> using
> maven
> 2
> repository
> as
> default
> public
> repository,
> and
> that
> we
> see
> many
> people
> trying
> to
> leverage
> maven
> 2
> repositories,
> I'm
> wondering
> if
> we
> shouldn't
> introduce
> a
> maven2
> resolver.
> This
> resolver
> would
> basically
> be
> the
> equivalent
> of
> ibiblio
> resolver
> with
> m2compatible
> set
> to
> true.
> The
> advantage
> is
> a
> better
> name,
> and
> we
> can
> make
> also
> other
> improvements.
> For
> instance,
> we
> could
> set
> checkConsistency
> to
> false
> on
> this
> resolver,
> since
> pretty
> often
> people
> complain
> about
> inconsitencies
> in
> maven2
> repo
> (see
> for
> instance
> last
> comments
> on
> [1]).
> We
> may
> also
> set
> the
> changingPattern
> to
> make
> SNAPSHOT
> dependencies
> work
> (more
> than
> that
> needs
> to
> be
> done,
> this
> should
> be
> addressed
> in
> IVY-501).
> We
> may
> even
> try
> to
> make
> this
> resolver
> leverage
> maven2
> cache,
> for
> people
> who
> work
> with
> both
> Ivy
> and
> maven
> 2
> on
> the
> same
> machine.
>
> WDYT?
>
> Xavier
>
> [1]
> http://tapestryjava.blogspot.com/2007/11/maven-wont-get-fooled-again.html
> --
> Xavier
> Hanin
> -
> Independent
> Java
> Consultant
> http://xhab.blogspot.com/
> http://ant.apache.org/ivy/
> http://www.xoocode.org/
>
>
>
>
>
>
>      
> ____________________________________________________________________________________
> Looking for last minute shopping deals?
> Find them fast with Yahoo! Search.  http://tools.search.yahoo.com/newsearch/category.php?category=shopping


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@...
For additional commands, e-mail: dev-help@...


Re: Add maven2 resolver?

by Xavier Hanin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Feb 8, 2008 11:01 PM, Nicolas Lalevée <nicolas.lalevee@...>
wrote:

>
> Le 8 févr. 08 à 21:29, Adrian Sandor a écrit :
>
> > Hi, IMHO it would be much better to build a clean, well-organized
> > and reliable ivy repository instead of supporting that maven
> > garbage. By the way, why was IvyRep abandoned? I think that would be
> > the best solution, to have an official ivy rep., ideally containing
> > artifacts too.
> > I have nothing against [better] supporting maven reps for those who
> > prefer it, but I don't see why it should have a higher priority than
> > supporting an ivy rep.
> > Anyway, I've never used maven (and from what I read about it, I
> > avoided a world of suffering), and during the few minutes I spent
> > with the ibiblio resolver before ditching it, I found these main
> > problems:
> > - bad org names
> > - very old versions for some modules
> > - source and javadoc artifacts not supported (except by IvyDE)
> > Therefore the only solution was to manually build an "enterprise
> > repository" from scratch.
>
> Well, to build a "entreprise repository", you will need some
> "entreprise maintainers". And looking at the number of artifacts
> available on ibiblio, for me it is a kind of magic to have Ivy support
> maven repositories. And we have to admit that maven is more popular
> than Ivy, so people will still continue to publish maven artifacts,
> even non maven-built projects as Lucene.

Agreed, this is a big advantage of leveraging maven 2 repo.

>
>
> And on the contrary, we could imagine to have some ivy.xml just next
> to the pom.xml on the maven repositories, so we could have a IvyRep2
> with not that much effort from the developer (non necessarily ivy
> ones) community.

Yes, but even maintaining ivy files require a strong community if we want to
have good quality metadata. That's what we tried with Ivyrep, while Ivy was
being sponsored by Jayasoft. But it was just too much work compared to the
result on investment. I still think that implementing a good maven 2
compatibility is less work than trying to build our own clean repository,
and it helps users to migrate from maven 2 too. So I still think having a
good maven 2 compatibility is mandatory for Ivy 2 final. Once we'll have a
large user community or some sponsorship, we will probably reconsider the
case of public official Ivy repository.

Xavier

>
>
> Nicolas
>
> > This could be avoided if an IvyRep was maintained (at least I could
> > do "install").
> >
> > Just a new user's opinion :)
> >
> > Adrian
> >
> > ----- Original Message ----
> > From: Xavier Hanin <xavier.hanin@...>
> > To: Ant Developers List <dev@...>
> > Sent: Saturday, February 9, 2008 2:44:15 AM
> > Subject: Add maven2 resolver?
> >
> >
> > Hi,
> >
> > Now
> > that
> > Ivy
> > is
> > using
> > maven
> > 2
> > repository
> > as
> > default
> > public
> > repository,
> > and
> > that
> > we
> > see
> > many
> > people
> > trying
> > to
> > leverage
> > maven
> > 2
> > repositories,
> > I'm
> > wondering
> > if
> > we
> > shouldn't
> > introduce
> > a
> > maven2
> > resolver.
> > This
> > resolver
> > would
> > basically
> > be
> > the
> > equivalent
> > of
> > ibiblio
> > resolver
> > with
> > m2compatible
> > set
> > to
> > true.
> > The
> > advantage
> > is
> > a
> > better
> > name,
> > and
> > we
> > can
> > make
> > also
> > other
> > improvements.
> > For
> > instance,
> > we
> > could
> > set
> > checkConsistency
> > to
> > false
> > on
> > this
> > resolver,
> > since
> > pretty
> > often
> > people
> > complain
> > about
> > inconsitencies
> > in
> > maven2
> > repo
> > (see
> > for
> > instance
> > last
> > comments
> > on
> > [1]).
> > We
> > may
> > also
> > set
> > the
> > changingPattern
> > to
> > make
> > SNAPSHOT
> > dependencies
> > work
> > (more
> > than
> > that
> > needs
> > to
> > be
> > done,
> > this
> > should
> > be
> > addressed
> > in
> > IVY-501).
> > We
> > may
> > even
> > try
> > to
> > make
> > this
> > resolver
> > leverage
> > maven2
> > cache,
> > for
> > people
> > who
> > work
> > with
> > both
> > Ivy
> > and
> > maven
> > 2
> > on
> > the
> > same
> > machine.
> >
> > WDYT?
> >
> > Xavier
> >
> > [1]
> >
> http://tapestryjava.blogspot.com/2007/11/maven-wont-get-fooled-again.html
> > --
> > Xavier
> > Hanin
> > -
> > Independent
> > Java
> > Consultant
> > http://xhab.blogspot.com/
> > http://ant.apache.org/ivy/
> > http://www.xoocode.org/
> >
> >
> >
> >
> >
> >
> >
> >
> ____________________________________________________________________________________
> > Looking for last minute shopping deals?
> > Find them fast with Yahoo! Search.
> http://tools.search.yahoo.com/newsearch/category.php?category=shopping
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@...
> For additional commands, e-mail: dev-help@...
>
>


--
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/

Re: Add maven2 resolver?

by Nicolas Lalevée-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Le 9 févr. 08 à 08:56, Xavier Hanin a écrit :

> On Feb 8, 2008 11:01 PM, Nicolas Lalevée <nicolas.lalevee@...
> >
> wrote:
>
>>
>> Le 8 févr. 08 à 21:29, Adrian Sandor a écrit :
>>
>>> Hi, IMHO it would be much better to build a clean, well-organized
>>> and reliable ivy repository instead of supporting that maven
>>> garbage. By the way, why was IvyRep abandoned? I think that would be
>>> the best solution, to have an official ivy rep., ideally containing
>>> artifacts too.
>>> I have nothing against [better] supporting maven reps for those who
>>> prefer it, but I don't see why it should have a higher priority than
>>> supporting an ivy rep.
>>> Anyway, I've never used maven (and from what I read about it, I
>>> avoided a world of suffering), and during the few minutes I spent
>>> with the ibiblio resolver before ditching it, I found these main
>>> problems:
>>> - bad org names
>>> - very old versions for some modules
>>> - source and javadoc artifacts not supported (except by IvyDE)
>>> Therefore the only solution was to manually build an "enterprise
>>> repository" from scratch.
>>
>> Well, to build a "entreprise repository", you will need some
>> "entreprise maintainers". And looking at the number of artifacts
>> available on ibiblio, for me it is a kind of magic to have Ivy  
>> support
>> maven repositories. And we have to admit that maven is more popular
>> than Ivy, so people will still continue to publish maven artifacts,
>> even non maven-built projects as Lucene.
>
> Agreed, this is a big advantage of leveraging maven 2 repo.
>
>>
>>
>> And on the contrary, we could imagine to have some ivy.xml just next
>> to the pom.xml on the maven repositories, so we could have a IvyRep2
>> with not that much effort from the developer (non necessarily ivy
>> ones) community.
>
> Yes, but even maintaining ivy files require a strong community if we  
> want to
> have good quality metadata. That's what we tried with Ivyrep, while  
> Ivy was
> being sponsored by Jayasoft. But it was just too much work compared  
> to the
> result on investment. I still think that implementing a good maven 2
> compatibility is less work than trying to build our own clean  
> repository,
> and it helps users to migrate from maven 2 too. So I still think  
> having a
> good maven 2 compatibility is mandatory for Ivy 2 final. Once we'll  
> have a
> large user community or some sponsorship, we will probably  
> reconsider the
> case of public official Ivy repository.
>

Yes, I totally agree, I was just considering adding the possibility to  
the maven2 resolver to also try to look for an ivy.xml just next to  
the pom.xml (I haven't looked to the technical consequences though).  
Then the maven2 community could also be an Ivy community. So the  
Ivyrep Adrian is looking for could be nothing more than the ibiblio one.

Nicolas

>>
>>> This could be avoided if an IvyRep was maintained (at least I could
>>> do "install").
>>>
>>> Just a new user's opinion :)
>>>
>>> Adrian
>>>
>>> ----- Original Message ----
>>> From: Xavier Hanin <xavier.hanin@...>
>>> To: Ant Developers List <dev@...>
>>> Sent: Saturday, February 9, 2008 2:44:15 AM
>>> Subject: Add maven2 resolver?
>>>
>>>
>>> Hi,
>>>
>>> Now
>>> that
>>> Ivy
>>> is
>>> using
>>> maven
>>> 2
>>> repository
>>> as
>>> default
>>> public
>>> repository,
>>> and
>>> that
>>> we
>>> see
>>> many
>>> people
>>> trying
>>> to
>>> leverage
>>> maven
>>> 2
>>> repositories,
>>> I'm
>>> wondering
>>> if
>>> we
>>> shouldn't
>>> introduce
>>> a
>>> maven2
>>> resolver.
>>> This
>>> resolver
>>> would
>>> basically
>>> be
>>> the
>>> equivalent
>>> of
>>> ibiblio
>>> resolver
>>> with
>>> m2compatible
>>> set
>>> to
>>> true.
>>> The
>>> advantage
>>> is
>>> a
>>> better
>>> name,
>>> and
>>> we
>>> can
>>> make
>>> also
>>> other
>>> improvements.
>>> For
>>> instance,
>>> we
>>> could
>>> set
>>> checkConsistency
>>> to
>>> false
>>> on
>>> this
>>> resolver,
>>> since
>>> pretty
>>> often
>>> people
>>> complain
>>> about
>>> inconsitencies
>>> in
>>> maven2
>>> repo
>>> (see
>>> for
>>> instance
>>> last
>>> comments
>>> on
>>> [1]).
>>> We
>>> may
>>> also
>>> set
>>> the
>>> changingPattern
>>> to
>>> make
>>> SNAPSHOT
>>> dependencies
>>> work
>>> (more
>>> than
>>> that
>>> needs
>>> to
>>> be
>>> done,
>>> this
>>> should
>>> be
>>> addressed
>>> in
>>> IVY-501).
>>> We
>>> may
>>> even
>>> try
>>> to
>>> make
>>> this
>>> resolver
>>> leverage
>>> maven2
>>> cache,
>>> for
>>> people
>>> who
>>> work
>>> with
>>> both
>>> Ivy
>>> and
>>> maven
>>> 2
>>> on
>>> the
>>> same
>>> machine.
>>>
>>> WDYT?
>>>
>>> Xavier
>>>
>>> [1]
>>>
>> http://tapestryjava.blogspot.com/2007/11/maven-wont-get-fooled-again.html
>>> --
>>> Xavier
>>> Hanin
>>> -
>>> Independent
>>> Java
>>> Consultant
>>> http://xhab.blogspot.com/
>>> http://ant.apache.org/ivy/
>>> http://www.xoocode.org/
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>> ____________________________________________________________________________________
>>> Looking for last minute shopping deals?
>>> Find them fast with Yahoo! Search.
>> http://tools.search.yahoo.com/newsearch/category.php?
>> category=shopping
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@...
>> For additional commands, e-mail: dev-help@...
>>
>>
>
>
> --
> Xavier Hanin - Independent Java Consultant
> http://xhab.blogspot.com/
> http://ant.apache.org/ivy/
> http://www.xoocode.org/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@...
For additional commands, e-mail: dev-help@...


Re: Add maven2 resolver?

by Adrian Sandor :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> >>> Therefore the only solution was to manually build an "enterprise
> >>> repository" from scratch.
> >>
> >> Well, to build a "entreprise repository", you will need some
> >> "entreprise maintainers".


I was talking about a private repository for me and my coworkers. It's
called "entreprise repository" in the Ivy docs.
But yes, a (public) Ivy rep needs maintainers, and I think it's not that
hard. Users can submit modules and the maintainers just need to check and
add them. A publishing procedure can be designed and enforced in order to
make it easy for maintainers.


> >> And looking at the number of artifacts
> >> available on ibiblio, for me it is a kind of magic to have Ivy
> >> support
> >> maven repositories. And we have to admit that maven is more popular
> >> than Ivy, so people will still continue to publish maven artifacts,
> >> even non maven-built projects as Lucene.


Yes, this is a good thing in the beginning. But in the long term, this will
encourage people to just continue to publish things to maven, which helps
maven more than ivy. Maven being so broken, I'd rather let it die :p


> >> And on the contrary, we could imagine to have some ivy.xml just next
> >> to the pom.xml on the maven repositories, so we could have a IvyRep2
> >> with not that much effort from the developer (non necessarily ivy
> >> ones) community.
> >
> > Yes, but even maintaining ivy files require a strong community if we
> > want to have good quality metadata. That's what we tried with Ivyrep,

> while Ivy was being sponsored by Jayasoft. But it was just too much

> work compared to the result on investment.


I think there are ways to reduce the amount of work. But yeah, community is
important. I'm willing to help, if it matters :)


> I was just considering adding the possibility to
> the maven2 resolver to also try to look for an ivy.xml just next to
> the pom.xml (I haven't looked to the technical consequences though).
> Then the maven2 community could also be an Ivy community. So the
> Ivyrep Adrian is looking for could be nothing more than the ibiblio one.


Well, that doesn't solve the problem of bad org names. And it requires
cooperation with the maven/ibiblio people (if they're ok, then it could
work).

Anyway, for now, I guess it makes sense to enhance maven2 support (with
poms), as it will bring the most results in the short term.
In that case, the first thing I'd request is support for source and javadoc
artifacts (I understand they're not defined in poms, so Ivy should just
construct the corresponding URLs and check whether they exist).
Obviously, other users have other requests, and it's up to you to sort the
priorities :)

Regards,
Adrian

Re: Add maven2 resolver?

by Xavier Hanin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Feb 9, 2008 11:45 AM, Nicolas Lalevée <nicolas.lalevee@...>
wrote:

>
> Le 9 févr. 08 à 08:56, Xavier Hanin a écrit :
>
> > On Feb 8, 2008 11:01 PM, Nicolas Lalevée <
> nicolas.lalevee@...
> > >
> > wrote:
> >
> >>
> >> Le 8 févr. 08 à 21:29, Adrian Sandor a écrit :
> >>
> >>> Hi, IMHO it would be much better to build a clean, well-organized
> >>> and reliable ivy repository instead of supporting that maven
> >>> garbage. By the way, why was IvyRep abandoned? I think that would be
> >>> the best solution, to have an official ivy rep., ideally containing
> >>> artifacts too.
> >>> I have nothing against [better] supporting maven reps for those who
> >>> prefer it, but I don't see why it should have a higher priority than
> >>> supporting an ivy rep.
> >>> Anyway, I've never used maven (and from what I read about it, I
> >>> avoided a world of suffering), and during the few minutes I spent
> >>> with the ibiblio resolver before ditching it, I found these main
> >>> problems:
> >>> - bad org names
> >>> - very old versions for some modules
> >>> - source and javadoc artifacts not supported (except by IvyDE)
> >>> Therefore the only solution was to manually build an "enterprise
> >>> repository" from scratch.
> >>
> >> Well, to build a "entreprise repository", you will need some
> >> "entreprise maintainers". And looking at the number of artifacts
> >> available on ibiblio, for me it is a kind of magic to have Ivy
> >> support
> >> maven repositories. And we have to admit that maven is more popular
> >> than Ivy, so people will still continue to publish maven artifacts,
> >> even non maven-built projects as Lucene.
> >
> > Agreed, this is a big advantage of leveraging maven 2 repo.
> >
> >>
> >>
> >> And on the contrary, we could imagine to have some ivy.xml just next
> >> to the pom.xml on the maven repositories, so we could have a IvyRep2
> >> with not that much effort from the developer (non necessarily ivy
> >> ones) community.
> >
> > Yes, but even maintaining ivy files require a strong community if we
> > want to
> > have good quality metadata. That's what we tried with Ivyrep, while
> > Ivy was
> > being sponsored by Jayasoft. But it was just too much work compared
> > to the
> > result on investment. I still think that implementing a good maven 2
> > compatibility is less work than trying to build our own clean
> > repository,
> > and it helps users to migrate from maven 2 too. So I still think
> > having a
> > good maven 2 compatibility is mandatory for Ivy 2 final. Once we'll
> > have a
> > large user community or some sponsorship, we will probably
> > reconsider the
> > case of public official Ivy repository.
> >
>
> Yes, I totally agree, I was just considering adding the possibility to
> the maven2 resolver to also try to look for an ivy.xml just next to
> the pom.xml (I haven't looked to the technical consequences though).

Technically this is very simple in Ivy, and it just had a GET.

>
> Then the maven2 community could also be an Ivy community. So the
> Ivyrep Adrian is looking for could be nothing more than the ibiblio one.

As Adrian says, to have something really clean, you need a separate
repository, because of many bad things in maven repo which can't be fixed
such as bad org names (for commons modules for instance). Another problem of
reusing the same repo and adding ivy files is that you then have a public
repo where revision gets updated, which breaks reproducibility (when someone
add a maven module without ivy.xml, and ivy.xml is added later).

If we really want to provide a clean Ivy repository, I see a better way:
leverage the install mechanism with namespaces and other stuff like that to
create an Ivy repo from maven 2 one, and sync them over night or something
like that. We'd need validation by a community of users to make sure the
sync doesn't introduce bad things such as bad org names. We'd also need a
policy for updating bad metadata (because we can't ensure nothing we'll ever
be wrong), and this would probably require new features in Ivy (this kind of
thing has already been discussed on ivy-dev@... list in the very beginning
of Ivy live at incubator if I remember well). But this is not easy to
achieve, and require a good amount of work. And this kind of work require
either a strong enough community, or a kind of sponsorship.

Xavier

>
>
> Nicolas
>
>
--
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/

Re: Add maven2 resolver?

by Xavier Hanin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Feb 9, 2008 12:43 PM, Adrian Sandor <aditsu@...> wrote:

> > >>> Therefore the only solution was to manually build an "enterprise
> > >>> repository" from scratch.
> > >>
> > >> Well, to build a "entreprise repository", you will need some
> > >> "entreprise maintainers".
>
>
> I was talking about a private repository for me and my coworkers. It's
> called "entreprise repository" in the Ivy docs.
> But yes, a (public) Ivy rep needs maintainers, and I think it's not that
> hard. Users can submit modules and the maintainers just need to check and
> add them. A publishing procedure can be designed and enforced in order to
> make it easy for maintainers.

Yes, but this requires improving tooling, and the work required is not that
light, when you know the number of module revisions published every day.

>
>
>
> > >> And looking at the number of artifacts
> > >> available on ibiblio, for me it is a kind of magic to have Ivy
> > >> support
> > >> maven repositories. And we have to admit that maven is more popular
> > >> than Ivy, so people will still continue to publish maven artifacts,
> > >> even non maven-built projects as Lucene.
>
>
> Yes, this is a good thing in the beginning. But in the long term, this
> will
> encourage people to just continue to publish things to maven, which helps
> maven more than ivy.

If Ivy is close to 100% compatible with maven, it helps Ivy as well as
Maven. And if Ivy grows enough, then having our own repository wold make
much more sense. I simply think that it's still too early. I think we first
need to make Ivy grow with compelling features rather than trying to build
our own repo (also because I've already tried to build an Ivy repo, and know
how hard it is).

So if we speak about growing, here is what I think is important:
- make Ivy close to 100% compatible with maven, and at least never "break".
If sometimes Ivy doesn't understand one dependency, or resolve dependencies
slightly differently, I don't think it's that important if people can fix it
in their ivy.xml.
- release Ivy 2 final!
- improve out of the box experience, to make it really easy for users to
setup their build with Ivy. This is why I suggested EasyAnt recently,
because it's still one of the main reason for people to use Maven, and with
which Ivy itself can't fight.

Maven being so broken, I'd rather let it die :p

>
>
> > >> And on the contrary, we could imagine to have some ivy.xml just next
> > >> to the pom.xml on the maven repositories, so we could have a IvyRep2
> > >> with not that much effort from the developer (non necessarily ivy
> > >> ones) community.
> > >
> > > Yes, but even maintaining ivy files require a strong community if we
> > > want to have good quality metadata. That's what we tried with Ivyrep,
>
> > while Ivy was being sponsored by Jayasoft. But it was just too much
>
> > work compared to the result on investment.
>
>
> I think there are ways to reduce the amount of work. But yeah, community
> is
> important. I'm willing to help, if it matters :)

Help is always welcome! And remember that Apache is all about community, and
anybody with good will can get involved. Even if I think building a public
Ivy repo now is too early, you can still go ahead and show the opposite. I
can help with the tooling required, and I'm pretty sure the Ivy committer
team is very open to change in Ivy to support this if ever it's necessary.
So feel free to share ideas and show your motivation and what you can
achieve!


> > I was just considering adding the possibility to
> > the maven2 resolver to also try to look for an ivy.xml just next to
> > the pom.xml (I haven't looked to the technical consequences though).
> > Then the maven2 community could also be an Ivy community. So the
> > Ivyrep Adrian is looking for could be nothing more than the ibiblio one.
>
>
> Well, that doesn't solve the problem of bad org names. And it requires
> cooperation with the maven/ibiblio people (if they're ok, then it could
> work).
>
> Anyway, for now, I guess it makes sense to enhance maven2 support (with
> poms), as it will bring the most results in the short term.
> In that case, the first thing I'd request is support for source and
> javadoc
> artifacts (I understand they're not defined in poms, so Ivy should just
> construct the corresponding URLs and check whether they exist).

Sources and javadoc artifacts are supported in IvyDE, but if we make a
maven2 resolver this could be part of the features provided by this very
specific resolver.

Xavier


>
> Obviously, other users have other requests, and it's up to you to sort the
> priorities :)



>
> Regards,
> Adrian
>



--
Xavier Hanin - Independent Java Consultant
http://xhab.blogspot.com/
http://ant.apache.org/ivy/
http://www.xoocode.org/
LightInTheBox - Buy quality products at wholesale price