AEModernMCPort / Applied-Energistics-3-Fork

A Minecraft Mod about Matter, Energy and using them to conquer the world..
http://ae-mod.info/
Other
37 stars 12 forks source link

Moving to semver #94

Closed Elix-x closed 7 years ago

Elix-x commented 8 years ago

Made versioning fully conform to semver. Added minor ae version (required for semver).

Examples (in examples minor version is unused):

Current Semver
release rv3 build 27 2.0.27-release
alpha rv5 build 11 5.0.11-alpha
Elix-x commented 8 years ago

@yueh your opinion?

yueh commented 8 years ago

Semver does not really fit the current version scheme.

rv2 to rv3 would pretty much be a minor change, there were no real API breaks. In the same way builds can either be a minor or patch version.

The alpha/beta/stable cycle also does not really fit well with semver. This would pretty much be something like rv3 beta b10 -> 3.0.0-0.10.x

shartte commented 8 years ago

I would encode it as 3.0.0-beta.10 for example

yueh commented 8 years ago

Which pretty much defies semver as we pretty much ever use x.0.z. The minor version would be pointless.

Semver for minecraft mod is literally stupid. The idea behind semver is for dependencies and their management so it is easy to fetch bugfixes without adding any incompabilities. There are simply no dependencies who could make use of it. Without unit tests it is also a bit pointless to risk a release as even a patch could result in an API break.

Nevertheless major would fit for rv, and minor and patch could be splitted builds (by fixes and new features). Just the alpha/beta cycle does not fit well. What would semver say about something like rv.build.fix-channel?

Btw. if the gradle file should also use major.minor.patch-prerelease as names. aeversion should also be 0.

And I have to talk with algo about it. I am not sure, if the deployment process would even support it.

Elix-x commented 8 years ago

Semver

  1. MUST - have 3 parts (x.y.z)
  2. MUST - x is more important then y which is more important then z (we can make a bug fix and increment x, but can't make a game breaking feature and increment z) (eg: when y is incremented, z is reset to 0).
  3. MAY - add suffixes with - at the end (-alpha, -release).
  4. DOES NOT CARE about what the heck we use these x, y and z for, as long as we follow p2.
Elix-x commented 8 years ago

@yueh

rv.build.fix-channel

(TLDR) Possible.

yueh commented 8 years ago

I know it is possible. But would players be able to recognise it. (Note, they are even too stupid to read a calendar date)

Elix-x commented 8 years ago

Well, majority wants us to move to semver. Though it's not as big split as going java 8 vs going java 7.

yueh commented 8 years ago

Or just one bot might want it.

Elix-x commented 8 years ago

Maybe. But that's the only source of this kind of information about players playing AE we have.

Elix-x commented 8 years ago

@yueh So what was algo's answer?