Hi DS dev community,
Realizing I'd screwed up version numbering in the recent patch release
candidate has made me finally act on cleaning up our versioning situation.
I'm looking to create an input file that can hold a common version for both
c++ and python (an even better option would be to split python into its own
repo, but...I'm not there yet).
It turns out that cmake and python have different -- and conflicting! --
version standards. Releases are fine, but development versions, which are
really just placeholders since releases are governed by Apache policies,
are incompatible.
Python format: N!]N(.N)*[{a|b|rc}N][.postN][.devN]
(https://peps.python.org/pep-0440/)
CMake format: either <major>.<minor>.<patch>[-rc<n>] for
release(-candidate)s or <major>.<minor>.<date>[-<id>]
(https://cmake.org/cmake/help/v3.16/variable/CMAKE_VERSION.html)
Since we shouldn't be tagging or publishing development versions, I'm
proposing we use cmake's major.minor.date-id format, replacing the - with a
. in python. The id would be "dev0" in this case, which I believe will meet
both format requirements. It's a little undesirable to use a datestamp a as
3rd value when sorting, but that's where not tagging or publishing
development snapshots comes in.
Any thoughts? Or should I not even bother with this and just work on
pulling python into its own repo? I think I'd prefer to do the latter when
we're _not_ gearing up for a major version bump since I feel like that'll
ultimately be less disruptive for library users.
jon