[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [rt-pmc] Re: [jetty-dev] jetty dependency's and 'releasing' within eclipse
|
Note: We should probably start considering changing the venue of this
discussion to something liek the Architecture council mailing list or
bug or something. I fear that others will have similar questions and
we'll end up repeating information.
On 20-Jul-09, at 12:43 PM, Joakim Erdfelt wrote:
Speaking as a developer of a Maven Repository server (Apache
Archiva) ...
The repository is only to be considered a database of artifacts, the
structure, naming, and organization within the repository is only
such to prevent conflicts. That's it. (CPAN operates on the same
philosophy)
This is great and makes complete sense. Does it follow that producers
choose what to call their artifacts and groups as long as the combo is
unique. That is, if Eclipse "owns" the org.eclipse group then it can
choose how to structure it no? Simiarly, if a producer publishes an
artifact as foo_1.0.0.bar.jar it should, at least natively, come back
with the same name for consumers? Otherwise it would seem that
somehow the repo/database, is changing things and having external
effects.
Anything other assumptions about what a maven repository is, and
what its used for, and any other deeper meaning into the naming and
whatnot is irrelevant.
I agree. That is why the relationship outlined earlier between group/
artifact id and the BSN is IMHO problematic. Its good as a guideline
if no one says otherwise but if the artifact is already a bundle and
already has a filename then producers should be able to publish it can
consumers retrieve it as such. Perhaps I have misunderstood. To
clarify, would it be acceptable for the eclipse community to publish
their artifacts in maven central as
org.eclipse.foo:org.eclipse.foo.bar.fred:1.0.0.v2090719
If we did so, would the natural/default consequence for consumers be
that they would get an artifact called
org.eclipse.foo.bar.fred_1.0.0.v20090719.jar
The client mechanisms that downloads the artifacts for use elsewhere
is responsible for managing the names themselves. (ant/ivy, maven,
rake, hudson, intellij, netbeans, jruby, debian-build, jam, jide,
etc... all manage the downloaded artifacts in different ways)
In general how do these mechanisms recover the original name of the
artifact? Conversely, what is the typical approach to uniquifying
files on disk if for example there are two artifacts called "logging"
with version 1.0? I am curious as this is a direction/approach that
we have not used so I'd like to learn how it works.
And that repo now has 161,000 jars on it now[1], with many newer
languages embracing the central repository concept (ruby, groovy,
scala, python, etc ...).
The central maven repository has a *huge* community built around it,
it would be a shame if eclipse is not participating in this
extremely robust developer community.
The central repo idea is grand. There's never been any dispute about
that. We have a few thousand bundles in Galileo. If we put all of
them in maven central and tell the community that all the bundles are
there, go use them, will everything continue to work? Will all the
bundles suddenly have different file names, will the eclipse
infrastructure / tooling continue to work? what about all the
existing documentation and people using scripts and whatever to do
whatever? will people have to change their builds and deployment
strategies?
I am sure that assumptions have been made in both communities. These
need to be surfaced and addressed.
My ONLY point here is that while such a direction is likely of great
benefit, for the good of all, it needs to be set in the larger context
and thought through to ensure the promise can actually be achieved.
Jeff