Suggestion to unify version qualifiers across the SDK and the Designer
berezovskyi opened this issue · comments
Andrew Berezovskyi commented
Right now we use the following version table:
Stage | SDK version | Designer version |
---|---|---|
devel | 4.0.0-SNAPSHOT |
4.0.0.qualifier |
candidate | 4.0.0.RC |
4.0.0.RC |
final (release) | 4.0.0 |
4.0.0.RELEASE |
devel-next | 4.1.0-SNAPSHOT |
4.1.0.qualifier |
OSGi sorts lexicographically, that's why we need .RELEASE
to "outweigh" the .RC
. Maven follows the rules summarized here: https://stackoverflow.com/a/31482463/464590.
I suggest the following:
- Use
.CR
instead of.RC
for candidate releases. - Use
.Final
instead of no qualifier for the final SDK releases and the.RELEASE
for the Designer releases. - Forbid the use of milestone releases and use alpha/beta releases only before the candidate CR release.
This is how versions would look for both the SDK and Designer if we adopt this:
4.2.0.alpha1
4.2.0.alpha2
4.2.0.alpha3
4.2.0.beta1
4.2.0.CR
4.2.0.Final
State of the art:
- Spring was ignoring Maven rules before: https://mvnrepository.com/artifact/org.springframework/spring-core. I don't want to do that.
- Red Hat uses the scheme I am proposing including the CR instead of RC: https://mvnrepository.com/artifact/org.jboss.resteasy/resteasy-jaxrs. They used GA earlier and now they use Final for the final release qualifier.
Andrew Berezovskyi commented
@jad-elkhoury what do you think? This should make our life easier.
Andrew Berezovskyi commented
Jad is OK with this too.