From 9a45d32c19b45949f73c7988c19bac5bac8cf16f Mon Sep 17 00:00:00 2001 From: "Gerardo E. Cruz-Ortiz" Date: Tue, 4 Aug 2020 22:10:35 -0400 Subject: [PATCH] Close #80, Add baseline and build number Add build number and baseline macros Add version string macros Use new version string in noop and version report --- fsw/src/sample_app.c | 13 ++------- fsw/src/sample_app_version.h | 53 ++++++++++++++++++++++++++---------- 2 files changed, 41 insertions(+), 25 deletions(-) diff --git a/fsw/src/sample_app.c b/fsw/src/sample_app.c index beafedb..9f4c91d 100644 --- a/fsw/src/sample_app.c +++ b/fsw/src/sample_app.c @@ -239,11 +239,8 @@ int32 SAMPLE_AppInit( void ) CFE_EVS_SendEvent (SAMPLE_STARTUP_INF_EID, CFE_EVS_EventType_INFORMATION, - "SAMPLE App Initialized. Version %d.%d.%d.%d", - SAMPLE_APP_MAJOR_VERSION, - SAMPLE_APP_MINOR_VERSION, - SAMPLE_APP_REVISION, - SAMPLE_APP_MISSION_REV); + "SAMPLE App Initialized\n%s", + SAMPLE_APP_VERSION_STRING); return ( CFE_SUCCESS ); @@ -387,11 +384,7 @@ int32 SAMPLE_Noop( const SAMPLE_Noop_t *Msg ) CFE_EVS_SendEvent(SAMPLE_COMMANDNOP_INF_EID, CFE_EVS_EventType_INFORMATION, - "SAMPLE: NOOP command Version %d.%d.%d.%d", - SAMPLE_APP_MAJOR_VERSION, - SAMPLE_APP_MINOR_VERSION, - SAMPLE_APP_REVISION, - SAMPLE_APP_MISSION_REV); + "SAMPLE: NOOP command\n%s", SAMPLE_APP_VERSION); return CFE_SUCCESS; diff --git a/fsw/src/sample_app_version.h b/fsw/src/sample_app_version.h index 4844a96..47dc968 100644 --- a/fsw/src/sample_app_version.h +++ b/fsw/src/sample_app_version.h @@ -18,26 +18,49 @@ ** See the License for the specific language governing permissions and ** limitations under the License. ** -** File: sample_app_version.h -** -** Purpose: -** The Sample Application header file containing version number -** -** Notes: -** -** *************************************************************************/ -#ifndef _sample_app_version_h_ -#define _sample_app_version_h_ +/*! @file sample_app_version.h + * @brief Purpose: + * + * The Sample App header file containing version information + * + */ + +#ifndef SAMPLE_APP_VERSION_H +#define SAMPLE_APP_VERSION_H + +/* Development Build Macro Definitions */ + +#define SAMPLE_APP_BUILD_NUMBER 64 /*!< Development Build: Number of commits since baseline */ +#define SAMPLE_APP_BUILD_BASELINE "v1.1.0" /*!< Development Build: git tag that is the base for the current development */ + +/* Version Macro Definitions */ + +#define SAMPLE_APP_MAJOR_VERSION 1 /*!< @brief ONLY APPLY for OFFICIAL releases. Major version number. */ +#define SAMPLE_APP_MINOR_VERSION 1 /*!< @brief ONLY APPLY for OFFICIAL releases. Minor version number. */ +#define SAMPLE_APP_REVISION 0 /*!< @brief ONLY APPLY for OFFICIAL releases. Revision version number. */ +#define SAMPLE_APP_MISSION_REV 0 /*!< @brief ONLY USED by MISSION Implementations. Mission revision */ + +#define SAMPLE_APP_STR_HELPER(x) #x /*!< @brief Helper function to concatenate strings from integer macros */ +#define SAMPLE_APP_STR(x) SAMPLE_APP_STR_HELPER(x) /*!< @brief Helper function to concatenate strings from integer macros */ -#define SAMPLE_APP_MAJOR_VERSION 1 -#define SAMPLE_APP_MINOR_VERSION 1 -#define SAMPLE_APP_REVISION 11 -#define SAMPLE_APP_MISSION_REV 0 +/*! @brief Development Build Version Number. + * @details Baseline git tag + Number of commits since baseline. @n + * See @ref cfsversions for format differences between development and release versions. + */ +#define SAMPLE_APP_VERSION SAMPLE_APP_BUILD_BASELINE "+dev" SAMPLE_APP_STR(SAMPLE_APP_BUILD_NUMBER) +/*! @brief Development Build Version String. + * @details Reports the current development build's baseline, number, and name. Also includes a note about the latest official version. @n + * See @ref cfsversions for format differences between development and release versions. +*/ +#define SAMPLE_APP_VERSION_STRING \ + " Sample App Development Build\n " \ + SAMPLE_APP_VERSION \ + "\n Last Offical Release: v1.1.0" /* For full support please use this version */ -#endif /* _sample_app_version_h_ */ +#endif /* SAMPLE_APP_VERSION_H */ /************************/ /* End of File Comment */