Dain Sundstrom wrote:
On Jan 7, 2005, at 6:56 AM, Mark R. Diggory wrote:

Heres a really good example of a reference we promote usage of:

jakarta-commons/chain/project.properties,v: maven.repo.central.directory=/www/www.apache.org/dist/java-repository

maven.repo.central.directory is property which states "where" to  publish
to, not where to download from.


This is exactly my point. If someone pulled down that source, it potentially won't build. Once you start messing with repos, it can eliminate the possibility of recreating *historical* builds.


No, your missing it, the point of "maven.repo.central.directory" is that it specifically configures where things get "published" to, not where to download them from. Release Managers using Maven need to maintain this sort of stuff outside of the cvs and only use it when publishing releases or interim builds


http://maven.apache.org/reference/user-guide.html#Behavioural_Properties
http://maven.apache.org/reference/plugins/artifact/properties.html

Are examples of configuring the client.

It might be good to go through the Apache projects that are in java-repository and see if any are packaged to download dependencies from there, I doubt it that here would be any occurances however. As a majority of the files were originally published to/against ibiblio in the first place.

Unfortunately, not all projects that use the apache repos are not hosted at apache.


We've never publicized the the java-repository to be used externally.  It
's content was originally migrated from Apache by Jason Van Zyl and
Myself with the goal of getting publishing of Apache content back to
Apache (with Ibibilio as a mirror). Anyone using it would be using it  at
their own risk. I believe that any consultation with the ASF Repository
project here at Apache would have made this issue clear to them.

Further, my point is that currently there shouldn't be projects
dependent on java-repository as its location for resolving jar
dependencies, there is an entire discussion on the [EMAIL PROTECTED]
list concerning this subject, the repository used is a configuration of
the client right now (in Maven) not a characteristic of the project.xml
of a maven project. You can suggest a repository to use in properties
handed to Maven, but the default is always www.ibiblio.org/maven. Our
initial creation of java-repository was never not to have a  "Standalone"
Maven repository at Apache, but to provide a simple means for Apache
developers to publish release jars and distributions to Ibibilio until
such a time when distributed repositories become a greater practice.

Its a real bad idea to force build dependencies against it at this time
until we get it stabilized. Its entire contents are present at Ibiblio,
there currently is no reason a project should be using it directly vs
ibibilio.


I agree with what you are writing, but people do it. IMHO if you are going to create a public repo, they you have a responsibility to keep the artifacts around forever.


But this is exactly our argument, java-repository was never meant to be used as a public interim release repository (based on where it is located in the "dist" directory and the policies of "dist"...



On top of this I recommend that Apache avoid maintaining interim builds
in such a way that external projects can build dependencies against
them. External projects should only be using fully 'sanctioned'  releases
published in dist for this purpose. Until tooling is completed in Ant
and Maven to support distributing download requests from the ASF
Repository across the mirrors we really cannot recommend that external
projects build dependencies against the contents of the ASF Repository
directly, please use Ibiblio/maven for this until such capabilities  come
into existence.


That is simply not possible. Geronimo has three external sister projects OpenEJB, ActiveMQ and TranQL. These projects import Geronimo and Geronimo aggregates their jars into the final distribution. If this were policy, then either the Geronimo project would stop, or more likely the Geronimo project would publish fully "sanctioned' releases every checkin.

This is an interesting example that represents a challenge. This is probably best served using http://cvs.apache.org/repository or a repository for Geronimo to manage sharing of the development snapshots.


Why are they so separate? Why not have these projects as part of Apache?


After writing some scripts to search the Apache cvs tree and inspecting the results. It really breaks down to three cases where projects reference java-repository:

1.) In Maven project.properties, Referencing the remote repository

maven.repo.remote=http://www.apache.org/dist/java-repository/

2.) In Maven project.properties, Referencing a central repository

maven.repo.central.directory=/www/www.apache.org/dist/java-repository

3.) In Ant files generated from Maven, Hardcoded references to java-repository.

I believe we should take the following stance on these cases:

1.) ----1 !!!

2.) +1

3.) ----1 !!!


Agree - I personally wouldn't do 2, but I see no reason to discourage  it.


Yes, but not until we stabilize the java-repository for the purpose of containing only sanctioned ASF releases.


I personally don't mind eliminating files from this repo, but I think you should be aware that you are making a decision that most like will break a few historical builds. I personally feel this is an acceptable level of breakage, but I don't think we should down play the fact it may break some builds.

-dain

Yes, and thanks again for the input, I opened discussion because this is a concern of mine as well.


--
Mark Diggory
Software Developer
Harvard MIT Data Center
http://www.hmdc.harvard.edu

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to