Hi Petar,

IIRC the idea behind the original setup was to keep the original builder 
immutable and to keep a clear separation between what was configured by 
descriptor and what by commandline.
And IIRC there's a set of properties that should NEVER be overridden via 
commandline.

Also, if this is that critical for you, remember to add a test. You've seen 
that the codebased has changed a lot, verifying changes with tests is the only 
way to ensure the refactoring was done properly.


thanks,
Robert
On 21-4-2019 08:38:37, Petar Tahchiev <[email protected]> wrote:
Hey guys,

a while ago I raised this issue
https://issues.apache.org/jira/browse/MRELEASE-985

and also I made a pull-request:
https://github.com/apache/maven-release/pull/18

but it was closed, because I believe after a few years the code was very
much out of sync with the master.

However, I checked the master and seems like there is a way to override the
SNAPSHOT dependencies from the command with a command like this:

mvn org.apache.maven.plugins:maven-release-plugin:3.0.0-SNAPSHOT:prepare
-DdryRun=true -Ddependency.com.nemesis:bom.release=2.0.1.RELEASE
-Ddependency.com.nemesis:bom.development=2.1.3-BUILD-SNAPSHOT -e -B

However, when I tried it I got the same error:

Caused by: org.apache.maven.shared.release.ReleaseFailureException: Can't
release project due to non released dependencies :
com.nemesis:bom:pom:2.1.0.BUILD-SNAPSHOT
in project 'Nemesis Platform'
(com.nemesis:platform:pom:2.1.0.BUILD-SNAPSHOT)

Then I started digging and saw that in the DefaultReleaseManager the
command-line properties are copied to a new ReleaseBuilder using
ReleaseUtils.copyPropertiesToReleaseDescriptor and then this new release
builder is ignored.
Furthermore the CheckDependenciesSnapshotsPhase was not interested if the
dependency was resolved from the command-line and was simply checking if it
is a SNAPSHOT dependency.

With those two small changes my build works fine. Can someone of you have a
look at my PR:

https://github.com/apache/maven-release/pull/28

and confirm that the change in DefaultReleaseManager doesn't break
anything. All the tests pass. If you confirm that it is OK I can add a test

Thank you.
--
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at:
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF 55A5 1965 8550 C311 0611

Reply via email to