Skip to content

Commit c879bb4

Browse files
authored
Merge pull request #853 from astrogeco/830-fix-version-es-hk
Fix #830, Set Revision to 99 for development build
2 parents 60917a2 + 6e73ee4 commit c879bb4

File tree

2 files changed

+41
-40
lines changed

2 files changed

+41
-40
lines changed

docs/src/cfs_versions.dox

Lines changed: 40 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,94 +1,96 @@
11
/**
22
\page cfsversions Version Numbers
3-
3+
44
<H2> Version Number Semantics </H2>
5-
5+
66
The version number is a sequence of four numbers, generally separated by dots when written. These are, in order,
77
the Major number, the Minor number, the Revision number, and the Mission Revision number. Missions may modify the Mission Revision information as needed to suit their needs.
8-
8+
99
It is important to note that Major, Minor, and Revision numbers are only updated upon official releases of tagged
1010
versions, \b NOT on development builds. We aim to follow the Semantic Versioning v2.0 specification with our versioning.
11-
11+
1212
The MAJOR number shall be incremented on release to indicate when there is a change to an API
1313
that may cause existing, correctly-written cFS components to stop working. It may also be incremented for a
1414
release that contains changes deemed to be of similar impact, even if there are no actual changes to the API.
15-
15+
1616
The MINOR number shall be incremented on release to indicate the addition of features to the API
1717
which do not break the existing code. It may also be incremented for a release that contains changes deemed
1818
to be of similar impact, even if there are no actual updates to the API.
19-
20-
The REVISION number shall be incremented on changes that benefit from unique identification such as bug fixes or major documentation updates. The Revision number may also be updated if there are other changes contained within a release that make it desirable for applications to distinguish one release from another.
21-
19+
20+
The REVISION number shall be incremented on changes that benefit from unique identification such as bug fixes or major documentation updates.
21+
The Revision number may also be updated if there are other changes contained within a release that make it desirable for applications to distinguish one release from another.
22+
WARNING: The revision number is set to the number 99 in development builds. To distinguish between development builds refer to the BUILD_NUMBER and BUILD_BASELINE detailed in the section "Identifying Development Builds".
23+
2224
The Major, Minor, and Revision numbers are provided in this header file as part of the API
2325
definition; this macro must expand to a simple integer value, so that it can be used in simple if directives by the macro preprocessor.
24-
26+
2527
The Mission Version number shall be set to zero in all officially released packages, and is entirely reserved for the use of the mission. The Mission Version is provided as a simple macro defined in the cfe_platform_cfg.h header file.
26-
28+
2729
<H2> Version Number Flexibility </H2>
28-
30+
2931
The major number may increment when there is no breaking change to the API, if the changes are significant enough to
3032
warrant the same level of attention as a breaking API change.
31-
33+
3234
The minor number may increment when there have been no augmentations to the API, if changes are as significant as
3335
additions to the public API.
34-
36+
3537
The revision numbers may increment in implementations where no actual implementation-specific code has changed, if
3638
there are other changes within the release with similar significance.
37-
39+
3840
<H2> How and Where Defined </H2>
39-
41+
4042
The Major, Minor, and Revision components of the version are provided as simple macros defined in the cfe_version.h header file as part of the API definition; these macros must expand to simple integer values, so that they can be used in simple if directives by the macro preprocessor.
41-
43+
4244
The Mission Version is provided as a simple macro defined in the cfe_platform_cfg.h header file. As delivered in official releases, these macros must expand to simple integer values, so that they can be used in simple macro preprocessor conditions, but delivered code should not prevent a mission from, for example, deciding that the Mission Version is actually a text string.
43-
44-
<H2> Identification of development builds </H2>
45-
46-
In order to distinguish between development versions, we also provide a BUILDNUMBER.
47-
45+
46+
<H2> Identifying Development Builds </H2>
47+
48+
In order to distinguish between development versions, we also provide a BUILD_NUMBER.
49+
4850
The BUILD_NUMBER reflects the number of commits since the BUILD_BASELINE, a baseline git tag, for each particular
4951
component. The BUILD_NUMBER integer increases monotonically for a given development cycle. The BUILD_BASELINE identifies the current development cycle and is a git tag with format vX.Y.Z. The Codename used in the version string also refers to the current development cycle. When a new baseline tag and codename are created, the the BUILD_NUMBER resets to zero and begins increasing
5052
from a new baseline.
51-
53+
5254
<H2> Templates for the version and version string </H2>
53-
55+
5456
The following templates are the code to be used in cfe_version.h for either official releases or development builds. The apps and repositories follow the same pattern by replacing the CFE_ prefix with the appropriate name; for example, osal uses OS_, psp uses CFE_PSP_IMPL, and so on.
55-
57+
5658
<H3> Template for Official Releases </H3>
57-
59+
5860
\verbatim
5961

60-
/*<! Official Release Version Number */
61-
#define CFE_SRC_VERSION \
62+
/*<! Official Release Version Number */
63+
#define CFE_SRC_VERSION \
6264
CFE_STR(CFE_MAJOR_VERSION) "." \
6365
CFE_STR(CFE_MINOR_VERSION) "." \
6466
CFE_STR(CFE_REVISION) "." \
65-
CFE_STR(CFE_MISSION_REV)
66-
67+
CFE_STR(CFE_MISSION_REV)
68+
6769
#define CFE_VERSION_STRING \
6870
"cFE version " CFE_SRC_VERSION
6971

7072
\endverbatim
71-
73+
7274
<H3> Template for Development Builds </H3>
7375

7476
\verbatim
7577

76-
/*! @brief Development Build Version Number.
78+
/*! @brief Development Build Version Number.
7779
* Baseline git tag + Number of commits since baseline. @n
7880
* See cfs_versions.dox for format differences between development and release versions.
7981
*/
80-
#define CFE_SRC_VERSION \
81-
CFE_BUILD_BASELINE CFE_STR(CFE_BUILD_NUMBER)
82+
#define CFE_SRC_VERSION \
83+
CFE_BUILD_BASELINE CFE_STR(CFE_BUILD_NUMBER)
8284

83-
/*! @brief Development Build Version String.
85+
/*! @brief Development Build Version String.
8486
* Reports the current development build's baseline, number, and name. Also includes a note about the latest official version. @n
85-
* See cfs_versions.dox for format differences between development and release versions.
86-
*/
87+
* See cfs_versions.dox for format differences between development and release versions.
88+
*/
8789
#define CFE_VERSION_STRING \
8890
" cFE Development Build " \
8991
CFE_SRC_VERSION " (Codename: CONSTELLATION_NAME)" /* Codename for current development */ \
9092
", Last Official Release: cfe vX.Y.Z" /* For full support please use this version */
91-
93+
9294
\endverbatim
93-
95+
9496
**/

fsw/cfe-core/src/inc/cfe_version.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,9 @@
3939
#define CFE_BUILD_BASELINE "v6.8.0-rc1" /*!< Development Build: git tag that is the base for the current development */
4040

4141
/* Version Macro Definitions */
42-
4342
#define CFE_MAJOR_VERSION 6 /*!< @brief ONLY APPLY for OFFICIAL releases. Major version number. */
4443
#define CFE_MINOR_VERSION 7 /*!< @brief ONLY APPLY for OFFICIAL releases. Minor version number. */
45-
#define CFE_REVISION 0 /*!< @brief ONLY APPLY for OFFICIAL releases. Revision version number. */
44+
#define CFE_REVISION 99 /*!< @brief ONLY APPLY for OFFICIAL releases. Revision version number. If set to 99 it indicates a development version. */
4645
#define CFE_MISSION_REV 0 /*!< @brief ONLY USED by MISSION Implementations. Mission revision */
4746

4847
#define CFE_STR_HELPER(x) #x /*!< @brief Helper function to concatenate strings from integer macros */

0 commit comments

Comments
 (0)