You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Petar Tahchiev <pa...@gmail.com> on 2019/04/21 06:38:14 UTC

MRELEASE-985(again)

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

Re: MRELEASE-985(again)

Posted by Robert Scholte <rf...@apache.org>.
Hi Petar,

can you confirm that only dependency versions are picked up from  
commandline, and not any other property?
And if you do a release, please make it a M1 (milestone 1), because there  
are quite some changes that should be part of the final 3.0.0

thanks,
Robert

On Mon, 22 Apr 2019 08:37:02 +0200, Petar Tahchiev <pa...@gmail.com>  
wrote:

> Hello,
>
> if somebody would confirm my changes are OK, I'd like to perform a  
> release
> of the maven-release-plugin - the last release is almost 4 years old.
>
> На нд, 21.04.2019 г. в 13:29 ч. Petar Tahchiev <pa...@gmail.com>
> написа:
>
>> Hi Robert,
>> and thank you for your response. I have pushed a test which fails if I
>> revert my changes. The test passes with my changes. Please could someone
>> have a look at what I have changed and if it is OK.
>>
>> Thank you.
>>
>> На нд, 21.04.2019 г. в 12:27 ч. Robert Scholte <rf...@apache.org>
>> написа:
>>
>>> 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 <pa...@gmail.com> 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
>>>
>>
>>
>> --
>> 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
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Re: MRELEASE-985(again)

Posted by Petar Tahchiev <pa...@gmail.com>.
Hello,

if somebody would confirm my changes are OK, I'd like to perform a release
of the maven-release-plugin - the last release is almost 4 years old.

На нд, 21.04.2019 г. в 13:29 ч. Petar Tahchiev <pa...@gmail.com>
написа:

> Hi Robert,
> and thank you for your response. I have pushed a test which fails if I
> revert my changes. The test passes with my changes. Please could someone
> have a look at what I have changed and if it is OK.
>
> Thank you.
>
> На нд, 21.04.2019 г. в 12:27 ч. Robert Scholte <rf...@apache.org>
> написа:
>
>> 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 <pa...@gmail.com> 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
>>
>
>
> --
> 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
>


-- 
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

Re: MRELEASE-985(again)

Posted by Petar Tahchiev <pa...@gmail.com>.
Hi Robert,
and thank you for your response. I have pushed a test which fails if I
revert my changes. The test passes with my changes. Please could someone
have a look at what I have changed and if it is OK.

Thank you.

На нд, 21.04.2019 г. в 12:27 ч. Robert Scholte <rf...@apache.org>
написа:

> 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 <pa...@gmail.com> 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
>


-- 
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

Re: MRELEASE-985(again)

Posted by Robert Scholte <rf...@apache.org>.
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 <pa...@gmail.com> 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