[CDRIVER-2937] Support BUILD_VERSION in addition to VERSION_CURRENT Created: 29/Jan/19 Updated: 28/Oct/23 Resolved: 20/Feb/19 |
|
| Status: | Closed |
| Project: | C Driver |
| Component/s: | cmake |
| Affects Version/s: | None |
| Fix Version/s: | 1.14.0 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Roberto Sanchez | Assignee: | Roberto Sanchez |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Epic Link: | Automate C driver release |
| Description |
|
The C++ driver has support for specifying the driver build version with the BUILD_VERSION variable on the CMake command line. This way, if the VERSION_CURRENT file exists and BUILD_VERSION is not specified, the version is taken from VERSION_CURRENT. However, BUILD_VERSION can be used to override VERSION_CURRENT or in the case where VERSION_CURRENT is not present. The C driver should offer a similar capability in the build. |
| Comments |
| Comment by Githook User [ 20/Feb/19 ] |
|
Author: {'name': 'Roberto C. Sánchez', 'username': 'rcsanchez97', 'email': 'roberto@connexer.com'}Message: |
| Comment by Roberto Sanchez [ 14/Feb/19 ] |
|
That makes sense. I had forgotten about the ABI checker script (the grep command I used in my initial investigation did not catch that occurrence). The version number in VERSION_RELEASED is determined like this: python build/calc_release_version.py -p > VERSION_RELEASED Removing the requirement for VERSION_RELEASED as part of the normal build should not affect that at all, as the ABI checker script actually generates VERSION_RELEASED for itself in the manner I described. |
| Comment by Kevin Albertson [ 14/Feb/19 ] |
|
I'm in favor of removing the required VERSION_RELEASED file to build. As long as we still support calculating the previous release with calc_release_version.py, which is necessary in our ABI test here, that's fine with me. |
| Comment by Roberto Sanchez [ 14/Feb/19 ] |
|
kevinAlbs, I would like to propose that we drop the concept of VERSION_RELEASED and use only VERSION_CURRENT. The only place where VERSION_RELEASED is used is in src/libmongoc/doc/installing.rst.to provide a link to the current release tarball and to provide version-specific examples of downloading, building, and installing the driver. It is my belief that a generic link to the GItHub releases page and generic examples of the download, build, install procedure are more than adequate. The resulting simplification would allow us to completely replace the version handling logic in the C driver with the much simpler version handling logic from the C++ driver. Do you consider this approach to be viable? |