You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Robert Scholte <rf...@apache.org> on 2015/03/28 14:06:56 UTC

Re: [DISCUSS] To SemVer or not to SemVer, that is the question

It should be as easy as http://svn.apache.org/r1669762

Again: custom VersionPolicies aren't exposed yet by the plugin. I've added  
this, so we have time to complete the API, e.g. do we have enough  
information to predict the next version? In the end it is just a matter of  
writing proper unittests.

Thanks,
Robert

Op Sun, 22 Feb 2015 21:55:43 +0100 schreef Dennis Lundberg  
<de...@apache.org>:

> Thanks Robert,
>
> I'll have a look at it.
>
> On Sun, Feb 22, 2015 at 1:00 PM, Robert Scholte <rf...@apache.org>  
> wrote:
>> Hi Dennis,
>>
>> I've already started to extract some parts of the maven-release-manager  
>> to
>> an API.
>> The project has now 4 modules[1], whereas the maven-release-apis[2]  
>> should
>> be interesting.
>> I've started with a VersionPolicy interface, Simone already started on  
>> his
>> own implementation of OddEven Policy[3]
>> The current version already works with this API and the default
>> implementation, so there's only one more step to take: make it settable  
>> by
>> plugin configuration.
>> So you could work on the SemVer policy based on this API. If this  
>> confirms
>> that the API for version policy is complete, we can expose it.
>>
>> thanks,
>> Robert
>>
>> [1] http://maven.apache.org/maven-release/
>> [2]
>> http://maven.apache.org/maven-release/maven-release-api/apidocs/index.html
>> [3]
>> http://maven.apache.org/maven-release/maven-release-policies/maven-release-oddeven-policy/index.html
>>
>>
>> Op Sat, 21 Feb 2015 23:05:37 +0100 schreef Dennis Lundberg
>> <de...@apache.org>:
>>
>>
>>> Hi,
>>>
>>> Although I strongly feel that SemVer [1] is the way to go when it
>>> comes to versioning, I still haven't started using it though. That got
>>> me thinking about why that is the case. I've come to the conclusion
>>> that I'm lazy :)
>>>
>>> It all comes down to tooling. Being accustomed to, and spoiled by,
>>> using the Release Plugin, I don't want to do anything manually any
>>> more. That includes as simple a thing as changing the "next version"
>>> (or developmentVersion) manually during the interactive command line
>>> session when using the Release Plugin. I want it to be the guessed
>>> correctly for me. Let me outline an example to show you what I mean.
>>> The vast majority of releases I make, both here and at my day job, are
>>> minor releases. So I want the Release Plugin to work for me, and not
>>> against me.
>>>
>>>
>>> Not using SemVer
>>>
>>> 1.0-SNAPSHOT --> 1.0 --> 1.1-SNAPSHOT
>>>
>>> No problems here, the Release Plugin will correctly guess that
>>> 1.1-SNAPSHOT is the next version that I want to use. Just hit <enter>
>>> a couple of times during the release process.
>>>
>>>
>>> Using SemVer
>>>
>>> 1.0.0-SNAPSHOT --> 1.0.0 --> 1.0.1-SNAPSHOT
>>>
>>> This is not what I want. The Release Plugin will guess that the next
>>> version should be 1.0.1-SNAPSHOT. To change it I have to type in the
>>> value that I want on the command line. I'm too lazy for that. Instead
>>> I want the Release Plugin to do this:
>>>
>>> 1.0.0-SNAPSHOT --> 1.0.0 --> 1.1.0-SNAPSHOT
>>>
>>>
>>> How can we solve this? The solution that I have come up with is a new
>>> parameter for release:prepare tentatively called "versionIncrement"
>>> that can take the values "major", "minor" and "patch", with "patch"
>>> being the default value for backwards compatibility.
>>>
>>> In my use case above I would simply set versionIncrement=minor and the
>>> Release Plugin would then do things my way.
>>>
>>> What are your thoughts on this?
>>>
>>> I would like for us to start using SemVer for all releases in the
>>> Maven project, not just in core. What do you think?
>>>
>>>
>>> [1] http://semver.org/
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>>
>
>

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