ecell4_base icon indicating copy to clipboard operation
ecell4_base copied to clipboard

Version identification

Open kaizu opened this issue 6 years ago • 7 comments

Determine the style of version naming.

The following documents gives the style for Python packages though it seems too complicated. https://www.python.org/dev/peps/pep-0440/

The version style affects the following part:

https://github.com/ecell/ecell4-base/blob/master/ecell4/core/extras.hpp#L90-L101 https://github.com/ecell/ecell4-base/blob/master/ecell4/core/extras.cpp#L103-L168

kaizu avatar Feb 25 '19 06:02 kaizu

The project version is given here: https://github.com/ecell/ecell4-base/blob/master/CMakeLists.txt#L4

This also works as the version of Python pacage ecell4_base. Thus, it must be consistent with the style.

kaizu avatar Feb 25 '19 06:02 kaizu

The version scheme in PEP 440 is [N!]N(.N)*[{a|b|rc}N][.postN][.devN].

The current implementation only accepts N.N.N.

Here is a proposal: N.N.[dev]N

  • No epoch
  • At least two release numbers are required.
  • Third release number is replaceable with a development release segment.

This accepts 1.0.dev2, but omit several styles such as 1.0.1.dev1, 1.0b2 and 1.0.post1.

kaizu avatar Feb 25 '19 07:02 kaizu

Or simply N.N[.devN]. Just two release numbers and one optional development segment.

kaizu avatar Feb 25 '19 07:02 kaizu

See also https://packaging.pypa.io/en/latest/version/

kaizu avatar Feb 25 '19 07:02 kaizu

Use N.N[.devN]: 1.0.dev1 -> 1.0.dev2 -> 1.0 -> 1.1.dev1 -> ...

kaizu avatar Feb 28 '19 09:02 kaizu

The version scheme expects N.N[.N][.devN] to support the old style.

kaizu avatar Mar 01 '19 07:03 kaizu

The version scheme was updated: N.N.N[{a|b}N] where the micro version must be 0 when {a|b}N is given.

  • The major, minor and micro version must be always given. Never omit the micro version.
  • No dev is allowed.

kaizu avatar Mar 09 '19 03:03 kaizu