Browse Source

#IQBX #comment [CMake] 与Win同步,支持通过DEVOPS定义去编译版本

gifur 2 years ago
parent
commit
c44163764c

+ 63 - 43
CMakeLists.txt

@@ -55,9 +55,10 @@ endif()
 set(DEVOPS_ON FALSE)
 set(FORMAT_UPDATE_PKG FALSE)
 set(FORMAT_WITH_SUFFIX TRUE)
-if(WITH_UPDATE_FORMAT AND NOT PACK_AS_DEB_PKG)
-	set(FORMAT_UPDATE_PKG TRUE)
-endif(WITH_UPDATE_FORMAT AND NOT PACK_AS_DEB_PKG)
+set(DEVOPS_ON_CMAKE_ST FALSE)
+set(DEVOPS_ON_CMAKE_UAT FALSE)
+set(DEVOPS_ON_CMAKE_DEV FALSE)
+set(DEVOPS_ON_CMAKE_PRD FALSE)
 
 if(MSVC)
 	set(TARGET_PLATFORM Windows)
@@ -67,14 +68,12 @@ endif(MSVC)
 
 if($ENV{PIPELINE_BUILD_ID})
 	message(STATUS "DevOps pipeline environment: $ENV{DEVOPS_ENV}")
-	
 	message(STATUS "PIPELINE_BUILD_ID: $ENV{PIPELINE_BUILD_ID}")
 	message(STATUS "PIPELINE_NAME: $ENV{PIPELINE_NAME}")
 	message(STATUS "DEVOPS_GROUPID: $ENV{DEVOPS_GROUPID}")
 	message(STATUS "DEVOPS_ARTIFACTID: $ENV{DEVOPS_ARTIFACTID}")
 	message(STATUS "PIPELINE_NUMBER: $ENV{PIPELINE_NUMBER}")
 	message(STATUS "PIPELINE_BRANCH: $ENV{PIPELINE_BRANCH}")
-
 	set(DEVOPS_ON TRUE)
 else()
 	set(GIT_HASH "unknown")
@@ -104,44 +103,56 @@ set(VERSION_DEV_REGEX "^.?([0-9]+)\\.([0-9]+)\\.([0-9]+)-?([A-Za-z]*)(.*)")
 string(REGEX REPLACE "${VERSION_DEV_REGEX}" "\\5" RVC_DEV_NUM "${RAW_VERSION_STRING}")
 
 if(DEVOPS_ON)
-	if(DEFINED ENV{PIPELINE_NUMBER})
-		set(BUILD_NUMBER $ENV{PIPELINE_NUMBER})
-	else()
-		message(WARN "not set pipe number env virable.")
-		set(BUILD_NUMBER ${RVC_DEV_NUM})
-	endif()
 	set(DEVOPS_ENV_STR $ENV{DEVOPS_ENV})
 	string(TOLOWER $ENV{DEVOPS_ENV} DEVOPS_ENV_STR)
 	
-	string(COMPARE EQUAL ${DEVOPS_ENV_STR} "uat" IS_DEVOPS_UAT)
-	if(IS_DEVOPS_UAT)
-		message(STATUS "UAT devops environment, set dev number.")
+	string(COMPARE EQUAL ${DEVOPS_ENV_STR} "st" DEVOPS_ON_CMAKE_ST)
+	string(COMPARE EQUAL ${DEVOPS_ENV_STR} "dev" DEVOPS_ON_CMAKE_DEV)
+	string(COMPARE EQUAL ${DEVOPS_ENV_STR} "uat" DEVOPS_ON_CMAKE_UAT)
+	if(DEVOPS_ON_CMAKE_UAT)
+		message(STATUS "UAT devops environment, judge PRD or not.")
+		if(DEFINED ENV{FOR_PRD})
+			message(STATUS "FOR_PRD: $ENV{FOR_PRD}")
+			if($ENV{FOR_PRD})
+				set(DEVOPS_ON_CMAKE_PRD TRUE)
+				set(DEVOPS_ON_CMAKE_UAT FALSE)
+			endif($ENV{FOR_PRD})
+		endif(DEFINED ENV{FOR_PRD})
+	endif(DEVOPS_ON_CMAKE_UAT)
+
+	#set vesion number: ENV_VER_Major.ENV_VER_Minor.ENV_VER_Revision.ENV_VER_Build
+	if(DEFINED ENV{ENV_VER_Major})
+		set(ENV_VER_Major_STR $ENV{ENV_VER_Major})
+		set(RVC_VERSION_MAJOR "${ENV_VER_Major_STR}")
+	endif(DEFINED ENV{ENV_VER_Major})
+	if(DEFINED ENV{ENV_VER_Minor})
+		set(ENV_VER_Minor_STR $ENV{ENV_VER_Minor})
+		set(RVC_VERSION_MINOR "${ENV_VER_Minor_STR}")
+	endif(DEFINED ENV{ENV_VER_Minor})
+	if(DEFINED ENV{ENV_VER_Revision})
+		set(ENV_VER_Revision_STR $ENV{ENV_VER_Revision})
+		set(RVC_VERSION_REVISION "${ENV_VER_Revision_STR}")
+	endif(DEFINED ENV{ENV_VER_Revision})
+	if(DEFINED ENV{ENV_VER_Build})
+		set(ENV_VER_Build_STR $ENV{ENV_VER_Build})
+		set(RVC_DEV_NUM "${ENV_VER_Build_STR}")
 		set(BUILD_NUMBER ${RVC_DEV_NUM})
-		set(FORMAT_WITH_SUFFIX FALSE)
-		message(STATUS "UAT devops environment, reset build number.")
-		if(DEFINED ENV{NOT_STABLE_VERSION})
-			if($ENV{NOT_STABLE_VERSION})
-				set(FORMAT_WITH_SUFFIX TRUE)
-				message(STATUS "test: $ENV{NOT_STABLE_VERSION}")
-			endif($ENV{NOT_STABLE_VERSION})
-		endif(DEFINED ENV{NOT_STABLE_VERSION})
-	else(IS_DEVOPS_UAT)
-		set(RVC_VERSION_SUFFIX "$ENV{DEVOPS_ENV}($ENV{PIPELINE_NAME})")
-	endif(IS_DEVOPS_UAT)
+	elseif((NOT DEVOPS_ON_CMAKE_PRD) AND DEFINED ENV{PIPELINE_NUMBER})
+		set(BUILD_NUMBER $ENV{PIPELINE_NUMBER})
+	else()
+		message(WARN "not set pipe number env virable.")
+		set(BUILD_NUMBER ${RVC_DEV_NUM})
+	endif(DEFINED ENV{ENV_VER_Build})
 
+	if(DEVOPS_ON_CMAKE_PRD)
+		set(RVC_VERSION_SUFFIX "PRD")
+	else()
+		set(RVC_VERSION_SUFFIX "$ENV{DEVOPS_ENV}($ENV{PIPELINE_NAME})")
+	endif(DEVOPS_ON_CMAKE_PRD)
 	if(NOT FORMAT_WITH_SUFFIX)
 		unset(RVC_VERSION_SUFFIX)
 	endif(NOT FORMAT_WITH_SUFFIX)
 
-	if(DEFINED ENV{BUILD_UPDATE_FORMAT} AND NOT PACK_AS_DEB_PKG)
-		if($ENV{BUILD_UPDATE_FORMAT})
-			set(FORMAT_UPDATE_PKG TRUE)
-			message(STATUS "test: $ENV{BUILD_UPDATE_FORMAT}")
-		else()
-			set(FORMAT_UPDATE_PKG FALSE)
-		endif($ENV{BUILD_UPDATE_FORMAT})
-	endif()
-
 elseif(BUILD_NUMBER EQUAL 0)
 	set(BUILD_NUMBER ${RVC_DEV_NUM})
 endif(DEVOPS_ON)
@@ -159,11 +170,11 @@ else()
 	set(RVC_VERSION_FULL "${RVC_VERSION}")
 endif(RVC_VERSION_SUFFIX)
 
-if(DEVOPS_ON AND IS_DEVOPS_UAT)
+if(DEVOPS_ON AND DEVOPS_ON_CMAKE_PRD)
 	set(PACK_VERSION_NAME "${RVC_FRAMEWORK_VERSION}")
 else()
 	set(PACK_VERSION_NAME "${RVC_VERSION_FULL}")
-endif(DEVOPS_ON AND IS_DEVOPS_UAT)
+endif(DEVOPS_ON AND DEVOPS_ON_CMAKE_PRD)
 
 
 if(NOT DEFINED BUILD_SHARED_LIBS)
@@ -300,10 +311,19 @@ elseif(_type STREQUAL release)
 	set(RVC_DEBUG_MODE FALSE)
 	set(RVC_OUTPUT_SUFFIX "_${_type_upper}")
 endif()
-if(IS_DEVOPS_UAT)
-	add_compile_definitions(UNDER_PRODUCT_ENV)
+if(DEVOPS_ON_CMAKE_ST)
+	add_compile_definitions(DEVOPS_ON_ST)
+	message(STATUS "add st compile definition")
+elseif(DEVOPS_ON_CMAKE_UAT)
+	add_compile_definitions(DEVOPS_ON_UAT)
+	message(STATUS "add uat compile definition")
+elseif(DEVOPS_ON_CMAKE_DEV)
+	add_compile_definitions(DEVOPS_ON_DEV)
+	message(STATUS "add dev compile definition")
+elseif(DEVOPS_ON_CMAKE_PRD)
+	add_compile_definitions(DEVOPS_ON_PRD)
 	message(STATUS "add product compile definition")
-endif(IS_DEVOPS_UAT)
+endif(DEVOPS_ON_CMAKE_ST)
 
 # Configure MSVC Runtime
 if(MSVC)
@@ -403,11 +423,11 @@ else()
 endif(MSVC)
 
 if(FORMAT_UPDATE_PKG)
-set(CPACK_SYSTEM_NAME "${TARGET_PLATFORM}-${BUILD_YEAR}${BUILD_MONTH}${BUILD_DAY}")
-set(CPACK_TOPLEVEL_TAG "${TARGET_PLATFORM}-${BUILD_YEAR}${BUILD_MONTH}${BUILD_DAY}")
+	set(CPACK_SYSTEM_NAME "${TARGET_PLATFORM}-${BUILD_YEAR}${BUILD_MONTH}${BUILD_DAY}")
+	set(CPACK_TOPLEVEL_TAG "${TARGET_PLATFORM}-${BUILD_YEAR}${BUILD_MONTH}${BUILD_DAY}")
 else(FORMAT_UPDATE_PKG)
-set(CPACK_SYSTEM_NAME "${TARGET_PLATFORM}-${BUILD_TYPE_NAME}")
-set(CPACK_TOPLEVEL_TAG "${TARGET_PLATFORM}-${BUILD_TYPE_NAME}")
+	set(CPACK_SYSTEM_NAME "${TARGET_PLATFORM}-${BUILD_TYPE_NAME}")
+	set(CPACK_TOPLEVEL_TAG "${TARGET_PLATFORM}-${BUILD_TYPE_NAME}")
 endif(FORMAT_UPDATE_PKG)
 
 

+ 3 - 1
Module/mod_CenterSetting/mod_centersetting.cpp

@@ -1064,8 +1064,10 @@ void CCenterSettingEntity::OnStarted()
          CSmartPointer<IConfigInfo> pConfigShell;
          GetFunction()->OpenConfig(Config_Shell, pConfigShell);
          CSimpleStringA section("CenterSettingsDownloadUrl");
-#ifndef UNDER_PRODUCT_ENV
+#ifdef DEVOPS_ON_ST /*DevOps流水线编译,ST环境*/
          section.Append("_ST");
+#elif defined(DEVOPS_ON_UAT)/*DevOps流水线编译,UAT环境*/
+         section.Append("_UAT");
 #endif
          pConfigShell->ReadConfigValue(section, "LAN", result);
      }

+ 4 - 2
Module/mod_DeviceControl/mod_DeviceControl.cpp

@@ -229,7 +229,7 @@ void CDeviceControlEntity::ReadConfigValue(SpReqAnsContext<DeviceControlService_
         CSimpleStringA str(true);
         CSimpleStringA section(ctx->Req.section);
         CSimpleStringA key(ctx->Req.key);
-#ifndef UNDER_PRODUCT_ENV
+#ifndef DEVOPS_ON_PRD
         /** 被逼的,方便测试环境验证,并且在只读的情况下 [Gifur@2022127]*/
         if (ctx->Req.reserved1 == 1 && !ctx->Req.option) {
             section.Append("_ST");
@@ -584,8 +584,10 @@ std::pair<ErrorCodeEnum, CSimpleStringA> CDeviceControlEntity::__ReadCenterConfi
         CSmartPointer<IConfigInfo> pConfigShell;
         GetFunction()->OpenConfig(Config_Shell, pConfigShell);
         CSimpleStringA section("CenterSettingsDownloadUrl");
-#ifndef UNDER_PRODUCT_ENV
+#ifdef DEVOPS_ON_ST /*DevOps流水线编译,ST环境*/
         section.Append("_ST");
+#elif defined(DEVOPS_ON_UAT)/*DevOps流水线编译,UAT环境*/
+        section.Append("_UAT");
 #endif
         pConfigShell->ReadConfigValue(section, "LAN", str);
         if (Error_Succeed != err && !str.IsNullOrEmpty()) {

+ 2 - 2
Module/mod_ResourceWatcher/ResourceWatcherFSM.cpp

@@ -4951,7 +4951,7 @@ void ResourceWatcherFSM::ConfirmDNSConfigHasSet()
 #if 1
     CSmartPointer<IConfigInfo> spConfig;
     GetEntityBase()->GetFunction()->OpenConfig(Config_Software, spConfig);
-#ifdef UNDER_PRODUCT_ENV
+#ifdef DEVOPS_ON_PRD
     spConfig->ReadConfigValue("DNS", "dns1", dns1);
     spConfig->ReadConfigValue("DNS", "dns2", dns2);
     Dbg("prd enviromemt");
@@ -4959,7 +4959,7 @@ void ResourceWatcherFSM::ConfirmDNSConfigHasSet()
     spConfig->ReadConfigValue("DNSTest", "dns1", dns1);
     spConfig->ReadConfigValue("DNSTest", "dns2", dns2);
     Dbg("test enviromemt");
-#endif // UNDER_PRODUCT_ENV
+#endif // DEVOPS_ON_PRD
 
 #else
     dns1 = m_strDefaultDns;

+ 2 - 3
Module/mod_chromium/CModTools.cpp

@@ -812,9 +812,8 @@ namespace Chromium {
                 LogWarn(Severity_Low, Error_Debug, LOG_EVT_CHROMIUM_OPEN_MAIN_URL,
                         CSimpleStringA::Format("StartChromiumBrowser %s", mainUrlRet.second.c_str()));
 
-#ifndef UNDER_PRODUCT_ENV
-                LogEvent(Severity_High, LOG_EVT_CHROMIUM_OPEN_MAIN_URL,
-                        CSimpleStringA::Format("当前打开的业务链接:%s", mainUrlRet.second.c_str()));
+#ifndef DEVOPS_ON_PRD
+                LogEvent(Severity_High, LOG_EVT_CHROMIUM_OPEN_MAIN_URL, CSimpleStringA::Format("当前打开的业务链接:%s", mainUrlRet.second.c_str()));
 #endif
                 return std::make_pair(Error_Succeed, openCefRet.second);
 			}

+ 4 - 0
addin/cfg/shell.ini.in

@@ -176,11 +176,15 @@ Number=1
 LAN=https://centerconfig.paas.cmbchina.cn/api/terminal/center/config
 [CenterSettingsDownloadUrl_ST]
 LAN=http://centerconfig.paasst.cmbchina.cn/api/terminal/center/config
+[CenterSettingsDownloadUrl_UAT]
+LAN=http://centerconfig.paasuat.cmbchina.cn/api/terminal/center/config
 
 [TerminalRegistInfoUrl]
 LAN=https://rvcgateway.paas.cmbchina.cn
 [TerminalRegistInfoUrl_ST]
 LAN=https://rvcgateway.paasst.cmbchina.cn
+[TerminalRegistInfoUrl_UAT]
+LAN=https://rvcgateway.paasuat.cmbchina.cn
 
 
 

+ 1 - 0
addin/cmake/ConfigOptions.cmake

@@ -47,6 +47,7 @@ option(CONAN_CACHE_CLEAR "remove local conan dependencies" OFF)
 
 option(WITH_ADDITIONAL_RES "download other resource file or for skipping big file mechanism like sogouime" OFF)
 
+# depreate now 20230420@Gifur
 option(WITH_UPDATE_FORMAT "build the artifictory as update pacakge format" OFF)
 
 option(WITH_UPDATE_CHANGELOG "scheduling producting changelog html format result" OFF)