On 05/14/2012 03:40 AM, Caleb James DeLisle
wrote:
On 05/14/2012 02:56 AM, Vincent Massol wrote:
Hi Caleb,
On May 13, 2012, at 12:17 PM, Caleb James DeLisle wrote:
> Hi,
>
> I'd like to change the<repository> in each top level pom to nexus so that
on release, all releases will go directly to staging by default.
> Agent1 already has an account in the staging repository from my last release so this
should just work.
>
> WDYT?
+1 for using staging but not to change the target repo. We need to be able to go from
staging to target.
The canonical way is to use mvn release:stage.
I don't know if it's as much canonical as it is the way that maven offers.
Nexus has a user interface which allows you to promote a release out of staging with just
a few clicks.
I think maven's release:stage was designed with the assumption that most people
don't have this luxury.
My concern with leaving a live repository in the pom file is that it seems to be just
asking for an accident
where everything gets pushed to the live server and has to be weeded out manually. I
would like to avoid this if at all possible.
I want to minimize the risk and the best way I know to do that is to not let maven know
where scp://maven.xwiki is.
Caleb
Well, re-releasing will take care of the "bad" artifacts, since as long as they
have the same version, uploading will override the older ones with the new ones. The only
risk is people downloading the bad artifacts between release attempts.
This is not fully correct. In the meantime any number of users could have use that remote
repo and have the artifacts locally. Then they may report errors in our jira saying
they're using that version of XE and we wouldn't be able to understand nor
reproduce the issue for example.
It's very bad andit should not be allowed (except under very special circumstances)
to re-release in a remote repository. It's completely forbidden for ex in the Maven
Central repo.
So a big -1 to re-release in our remote repo as a rule. Which is why I agree with Caleb
about staging.