On Thu, 21 Feb 2019 at 20:46, Vladimir Sitnikov
<[email protected]> wrote:
>
> Felix> Something like mvn release plugin
> Felix> http://maven.apache.org/maven-release/maven-release-plugin/
>
> Please, friends, never use maven-release-plugin.

Agreed.

> It works for a trivial single-module project, and it is a great pain for
> multi-module setup. I learned that the hard way.

IMO it has a fundamental design fault which affects single module
builds as well:
it updates trunk to the new snapshot version before the RC is voted on
and agreed.
So if the vote fails - which is not all that unusual - trunk has to be
reverted.

Furthermore, whilst the release vote is in progress, any CI builds
will start populating the snapshot repo with a new version.
If the release is cancelled, these stale snapshots hang around and may
have to be manually removed.

Even worse - it does not use a clean workspace for the build.

> I think we should just identify the set of actions we need and script it.
> For instance, see https://github.com/pgjdbc/pgjdbc/issues/1256 behind the
> lines of "Rework release procedure".

The safest approach is to create a tag for the RC from trunk.
Checkout that tag in a clean workspace (so there can be no spurious
files) and build the RC there.
Others can also checkout the same tag and should get a repeatable build.
Anything else is error prone - it's far too easy for un-versioned
files to creep into a build.

> Vladimir

Reply via email to