@@ -2,18 +2,31 @@ pipeline
22{
33 agent any
44
5+ parameters {
6+ string(name : ' version' , defaultValue : params. version ? params. version : ' 1.0.0' )
7+ string(name : ' prerelease_version' , defaultValue : params. prerelease_version ? params. prerelease_version : ' ' )
8+ string(name : ' steam_branch' , defaultValue : params. steam_branch ? params. steam_branch : ' ' )
9+ }
510 options {
611 buildDiscarder(logRotator(numToKeepStr : ' 100' , artifactNumToKeepStr : ' 100' ))
712 }
813 stages {
914 stage (' Setup Build Environment' ) {
1015 steps {
11- sh " sudo sh setup-dev-linux.sh"
16+ script {
17+ STEAM_BRANCH = (params. steam_branch == null || params. steam_branch. allWhitespace) ? ' ' : params. steam_branch
18+ }
19+
20+ sh " sudo sh setup-dev-linux.sh ${ STEAM_BRANCH} "
1221 }
1322 }
1423 stage (' Build Release' ) {
1524 steps {
16- sh " sudo msbuild ./Source/ModManager.csproj /p:Configuration=Release"
25+ script {
26+ BUILD_CONFIGURATION = env. BRANCH_NAME == ' stable' ? " Release" : " Debug"
27+ }
28+
29+ sh " sudo msbuild ./Source/ModManager.csproj /p:Configuration=${ BUILD_CONFIGURATION} "
1730 }
1831 }
1932 }
@@ -30,39 +43,55 @@ pipeline
3043 returnStdout : true
3144 ). trim()
3245
33- MODINFO_VERSION = sh (
46+ OLD_MODINFO_VERSION = sh (
3447 script : " xmlstarlet sel -t -v '/ModInfo/Version/@value' 000-ModManager/ModInfo.xml" ,
3548 returnStdout : true
3649 ). trim()
3750
38- MANIFEST_VERSION = sh (
51+ OLD_MANIFEST_VERSION = sh (
3952 script : " xmlstarlet sel -t -v '/ModManifest/Version/text()' 000-ModManager/Manifest.xml" ,
4053 returnStdout : true
4154 ). trim()
4255
43- try {
44- UPDATED_GAME_VERSION = sh (
45- script : " mono ../../VersionRelease.exe Dependencies/7DaysToDieServer_Data/Managed/Assembly-CSharp.dll 000-ModManager/Manifest.xml" ,
46- returnStdout : true
47- ). trim()
48-
49- withCredentials([usernamePassword(credentialsId : " ${ env.CREDENTIALS} " , usernameVariable : ' USER' , passwordVariable : ' PASSWORD' )]) {
50- sh " git config --global user.email '${ env.CREDENTIALS_EMAIL} '"
51- sh " git config --global user.name \$ USER"
52-
53- sh " git checkout -b ${ env.BRANCH_NAME} "
54- sh " git pull"
55- sh " git add 000-ModManager/Manifest.xml"
56- sh " git commit -m '${ UPDATED_GAME_VERSION} '"
57- sh " git show-ref"
58- sh
" git push https://\$ USER:\$ [email protected] /FilUnderscore/ModManager.git ${ env.BRANCH_NAME} " 56+ MODINFO_VERSION = params. version
57+ MANIFEST_VERSION = params. version + ((params. prerelease_version == null || params. prerelease_version. allWhitespace) ? ' ' : (' -' + params. prerelease_version))
58+
59+ withCredentials([usernamePassword(credentialsId : " ${ env.CREDENTIALS} " , usernameVariable : ' USER' , passwordVariable : ' PASSWORD' )]) {
60+ sh " git config --global user.email '${ env.CREDENTIALS_EMAIL} '"
61+ sh " git config --global user.name \$ USER"
62+
63+ sh " git checkout -b ${ env.BRANCH_NAME} "
64+ sh " git pull"
65+
66+ if (env. BRANCH_NAME == ' dev' ) {
67+ if (OLD_MODINFO_VERSION != MODINFO_VERSION || OLD_MANIFEST_VERSION != MANIFEST_VERSION ) {
68+ sh " sudo xmlstarlet edit --inplace --update '/ModInfo/Version/@value' --value '${ MODINFO_VERSION} ' 000-ModManager/ModInfo.xml"
69+ sh " sudo xmlstarlet edit --inplace --update '/ModManifest/Version' --value '${ MANIFEST_VERSION} ' 000-ModManager/Manifest.xml"
70+
71+ sh " git add 000-ModManager/ModInfo.xml 000-ModManager/Manifest.xml"
72+ sh " git commit -m 'Updated version to ${ MANIFEST_VERSION} '."
73+ }
74+
75+ try {
76+ UPDATED_GAME_VERSION = sh (
77+ script : " mono ../../VersionRelease.exe Dependencies/7DaysToDieServer_Data/Managed/Assembly-CSharp.dll 000-ModManager/Manifest.xml" ,
78+ returnStdout : true
79+ ). trim()
80+
81+ sh " git add 000-ModManager/Manifest.xml"
82+ sh " git commit -m '${ UPDATED_GAME_VERSION} '"
83+ } catch (err) {
84+
85+ }
5986 }
60- } catch (err) {
6187
88+ sh
" git push https://\$ USER:\$ [email protected] /FilUnderscore/ModManager.git ${ env.BRANCH_NAME} " 6289 }
6390
6491 sh " sudo xmlstarlet edit --inplace --update '/ModInfo/Version/@value' --value '${ MODINFO_VERSION} .${ GIT_COMMIT_COUNT} ' 000-ModManager/ModInfo.xml"
6592 sh " sudo xmlstarlet edit --inplace --update '/ModManifest/Version' --value '${ MANIFEST_VERSION} +${ env.BRANCH_NAME} .${ GIT_COMMIT_COUNT} .${ GIT_COMMIT_HASH} ' 000-ModManager/Manifest.xml"
93+
94+ sh " sudo xmlstarlet edit --inplace --update '/ModManifest/ManifestUrl' --value 'https://raw.githubusercontent.com/FilUnderscore/ModManager/${ env.BRANCH_NAME} /000-ModManager/Manifest.xml' 000-ModManager/Manifest.xml"
6695 }
6796
6897 sh " mv 000-ModManager 000-ModManager-temp"
0 commit comments