maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ron Wheeler <>
Subject Re: Can't specify distributionManagement in settings.xml
Date Mon, 04 Oct 2010 20:33:56 GMT
  On 04/10/2010 3:46 PM, Phillip Hellewell wrote:
> On Mon, Oct 4, 2010 at 1:36 PM, Thiessen, Todd (Todd)
> <>  wrote:
>> I don't think it is arbitary. Where you deploy your artifacts TO, I think should
be fixed. I think that is the intent. It is a one off thing that is applicable to the build
at hand and isn't something you will want to try and reproduce at a later date (like building
from a tag).
>> In this case it is good to know that if you run a mvn deploy, you'll know exactly
where the artifact will go. Using it as a property or variable in this case I think isn't
a good thing.
> I can see where you're coming from, and of course I don't plan on
> having where we deploy to change very often, but I don't see any big
> reason to prevent an override.
> But anyway, that is neither here nor there for me.  The big problem
> issue for me right now is why should I be forced to do everything
> through a parent pom instead of in a settings.xml file?  I don't
> understand why certain settings should have to be in a pom that has to
> be deployed.
> Phillip
I did warn you that you were going to get help from some very smart 
people with a lot of experience!!!

As a less qualified person, I found it pretty easy to think of this 
problem as follows:
1) I use the dependency repository to specify where any external or 
internal artifact comes from.
Their source for dependencies does not depend on which project one is 
working on.
It depends on where the dependency lives.
This is immutable and not project specific.

Nexus proxies all sources so people only have to specify Nexus to get 
any dependency regardless of whether it is our code, an artifact from 
Maven Central, an artifact from a third party Maven repository or a 
dependency that I had to download and manually add to my repo because of 
licensing issues.

Thus the dependency repository information goes in settings.xml since 
that is used for all projects and contains the developers credentials to 
access the Nexus repo.

2) Deployment could be project specific so it goes in the project's 
parent POM which is almost immutable for the entire release and the 
deployment management is completely immutable in our case, since we 
deploy to our Nexus repo in either the SNAPSHOT repo or the release repo.
Both deployment destinations are defined in the POM and Maven knows what 
to do without being told.
Maven uses the person's credentials from their settings.xml so they are 
not in the project POM.

We are not using Hudson, so we do not have to worry about that.


> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message