rarified
5 years ago
1 changed files with 0 additions and 209 deletions
@ -1,209 +0,0 @@
|
||||
def Targets = ['Internal', 'External'] |
||||
def ToolSets = ['VS2003', 'VS2010' ] |
||||
def BaseDir = "MOULOpenSourceClientPlugin" |
||||
def PlasmaDir = "${BaseDir}\\Plasma20" |
||||
|
||||
def SCMBranches = [ |
||||
CWE: '*/master', |
||||
LOCALDATA: '*/rarified/vs-multitool' |
||||
] |
||||
|
||||
def ToolSetParams = [ |
||||
VS2003: [ |
||||
INIT: "C:\\Program Files\\Microsoft Visual Studio .NET 2003\\Common7\\Tools\\vsvars32.bat", |
||||
SLN: "${PlasmaDir}\\MsDevProjects\\Plasma\\Apps\\AllClient\\AllClient-ou.sln", |
||||
ARTIFACTDIR: "MsDevProjects", |
||||
ARTIFACTPATH: "${PlasmaDir}\\MsDevProjects", |
||||
SDKPATH: "${BaseDir}\\StaticSDKs", |
||||
CL: [ |
||||
Internal: "/DBUILD_TYPE=BUILD_TYPE_DEV /DNET_LOGGING=1 /DMINKATA_BUILD_NUMBER=${BUILD_NUMBER}", |
||||
External: "/DPLASMA_EXTERNAL_RELEASE /DBUILD_TYPE=BUILD_TYPE_LIVE /DMINKATA_BUILD_NUMBER=${BUILD_NUMBER}" |
||||
], |
||||
CONF: [ |
||||
Internal: "Release", |
||||
External: "Release" |
||||
] |
||||
], |
||||
VS2010: [ |
||||
INIT: "C:\\Program Files\\Microsoft Visual Studio 10.0\\vc\\vcvarsall.bat", |
||||
SLN: "${PlasmaDir}\\MSVC10Projects\\Plasma\\Apps\\AllClient\\AllClient.sln", |
||||
ARTIFACTDIR: "MSVC10Projects", |
||||
ARTIFACTPATH: "${PlasmaDir}\\MSVC10Projects", |
||||
SDKPATH: "${BaseDir}\\StaticSDKs", |
||||
CL: [ |
||||
Internal: "/DBUILD_TYPE=BUILD_TYPE_DEV /DNET_LOGGING=1 /DMINKATA_BUILD_NUMBER=${BUILD_NUMBER}", |
||||
External: "/DPLASMA_EXTERNAL_RELEASE /DBUILD_TYPE=BUILD_TYPE_LIVE /DMINKATA_BUILD_NUMBER=${BUILD_NUMBER}" |
||||
], |
||||
CONF: [ |
||||
Internal: "Release_Internal", |
||||
External: "Release" |
||||
] |
||||
] |
||||
] |
||||
|
||||
pipeline { |
||||
options { |
||||
timestamps() |
||||
} |
||||
|
||||
agent { node { label 'master' } } |
||||
|
||||
stages { |
||||
|
||||
// Assemble workspace on master node |
||||
stage('SCM') { |
||||
steps { |
||||
|
||||
// Main checkout |
||||
checkout scm: [$class: 'GitSCM', branches: [[name: SCMBranches['CWE']]], |
||||
extensions: [[$class: 'WipeWorkspace']], |
||||
userRemoteConfigs: [[credentialsId: '505fdcbf-cd4c-488b-95d9-2bf2cc346ced', |
||||
url: 'https://foundry.openuru.org/gitblit/r/CWE-ou-minkata']]] |
||||
|
||||
// Localdata checkout |
||||
checkout changelog: false, |
||||
poll: false, |
||||
scm: [$class: 'GitSCM', branches: [[name: SCMBranches['LOCALDATA']]], |
||||
extensions: [[$class: 'WipeWorkspace'], |
||||
[$class: 'RelativeTargetDirectory', relativeTargetDir: 'LocalData'], |
||||
[$class: 'CleanBeforeCheckout', deleteUntrackedNestedRepositories: true], |
||||
[$class: 'IgnoreNotifyCommit']], |
||||
userRemoteConfigs: [[credentialsId: '505fdcbf-cd4c-488b-95d9-2bf2cc346ced', |
||||
url: 'https://foundry.openuru.org/gitblit/r/Foundry/LocalData-CWE-ou']]] |
||||
|
||||
// Merge Localdata to correct place in main tree |
||||
sh label: 'Copy Repository StaticSDKs to VS2003 specific SDK directory for merge', |
||||
script: "cd ${BaseDir}; /opt/gnu/bin/cp -rp StaticSDKs StaticSDKs-VS2003" |
||||
sh label: 'Copy Repository StaticSDKs to VS2010 specific SDK directory for merge', |
||||
script: "cd ${BaseDir}; /opt/gnu/bin/mv StaticSDKs StaticSDKs-VS2010" |
||||
sh label: 'Merge LocalData', |
||||
script: "/opt/gnu/bin/cp -rlf LocalData/* ${BaseDir}/." |
||||
} |
||||
} |
||||
|
||||
// Patch for Minkata |
||||
stage ('Patch') { |
||||
steps { |
||||
sh script: '/opt/gnu/bin/patch -p1 --ignore-whitespace --remove-empty-files --verbose < LocalData/Minkata/minkata-local-000.patch.dos' |
||||
} |
||||
} |
||||
|
||||
// Stash workspace for copy to slave node(s) |
||||
stage ('Stash Initialized Workspace') { |
||||
steps { |
||||
stash name: 'CWE-ou Sources', |
||||
includes: "LICENSE.txt,*.bat,${BaseDir}/**", |
||||
excludes: '**/DX9.0c*/Developer*/**,**/DX9.0c*/Documentation/**,**/DX9.0c*/Samples/**,**/DX9.0c*/Utilities/**' |
||||
} |
||||
} |
||||
|
||||
// Compile on Windows node |
||||
stage ('Compile') { |
||||
matrix { |
||||
agent { node { label 'win2k3' } } |
||||
axes { |
||||
axis { |
||||
name 'ToolSet' |
||||
values 'VS2003', 'VS2010' |
||||
} |
||||
axis { |
||||
name 'BuildType' |
||||
values 'Internal', 'External' |
||||
} |
||||
} |
||||
|
||||
stages { |
||||
// set up workspace on slave |
||||
stage ('Unstash Workspace') { |
||||
steps { |
||||
withEnv([ |
||||
"ARTIFACTPATH=${ToolSetParams[ToolSet]['ARTIFACTPATH']}", |
||||
"BUILDSDKPATH=${BaseDir}\\StaticSDKs" |
||||
]) { |
||||
bat script: "if exist %ARTIFACTPATH% rd /s/q %ARTIFACTPATH%" |
||||
unstash name: 'CWE-ou Sources' |
||||
bat script: "if exist %BUILDSDKPATH% rd /s/q %BUILDSDKPATH%" |
||||
} |
||||
} |
||||
} |
||||
|
||||
stage ('Customize for ToolSet') { |
||||
steps { |
||||
withEnv([ |
||||
"PATCHFILE_VS2010=${BaseDir}\\Minkata\\minkata-local-001.patch" |
||||
]) { |
||||
bat script: "ren ${BaseDir}\\StaticSDKs-${ToolSet} StaticSDKs" |
||||
bat script: 'if %ToolSet%==VS2010 if exist "%PATCHFILE_VS2010%" "%PATCH_EXE%" -p1 --ignore-whitespace --binary --verbose < "%PATCHFILE_VS2010%"' |
||||
} |
||||
} |
||||
} |
||||
|
||||
stage ('Compile {ToolSet}x{BuildType}') { |
||||
steps { |
||||
logParser useProjectRule: false, |
||||
projectRulePath: 'cwe-log.rules', |
||||
parsingRulesPath: 'cwe-log.rules', |
||||
showGraphs: true |
||||
withEnv([ |
||||
"CL=${ToolSetParams[ToolSet]['CL'][BuildType]}", |
||||
"CONF=${ToolSetParams[ToolSet]['CONF'][BuildType]}", |
||||
"INIT=${ToolSetParams[ToolSet]['INIT']}", |
||||
"SLN=${ToolSetParams[ToolSet]['SLN']}", |
||||
]) { |
||||
|
||||
bat script: ''' |
||||
call "%INIT%" |
||||
REM Prevent runaway VS2010 builds |
||||
set NUMBER_OF_PROCESSORS=2 |
||||
set |
||||
REM SET CL=%CL% /d1reportallclasslayout |
||||
devenv.com %SLN% /build %CONF% |
||||
''' |
||||
} |
||||
} |
||||
} |
||||
// Stash cell-specific artifacts to merge for archival |
||||
stage ('Stash Artifacts') { |
||||
steps { |
||||
withEnv([ |
||||
"ARTIFACTPATH=${ToolSetParams[ToolSet]['ARTIFACTPATH']}", |
||||
"SDKPATH=${ToolSetParams[ToolSet]['SDKPATH']}" |
||||
]) { |
||||
bat script: "if exist %ARTIFACTPATH%-${ToolSet}-${BuildType} rd /s/q %ARTIFACTPATH%-${ToolSet}-${BuildType}" |
||||
bat script: "move %ARTIFACTPATH% %ARTIFACTPATH%-${ToolSet}-${BuildType}" |
||||
stash name: "CWE-ou Artifacts ${ToolSet}-${BuildType}", |
||||
includes: "${ARTIFACTPATH}-${ToolSet}-${BuildType}/Plasma/**,${SDKPATH}/StaticSDKs/**" |
||||
} |
||||
} |
||||
} |
||||
|
||||
} |
||||
} |
||||
} |
||||
|
||||
stage('Unstash Build Artifacts') { |
||||
steps { |
||||
script { |
||||
for (buildtype in Targets) { |
||||
for (toolset in ToolSets) { |
||||
unstash name: "CWE-ou Artifacts ${toolset}-${buildtype}" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
stage('Archive Artifacts') { |
||||
steps { |
||||
dir (BaseDir) { |
||||
archiveArtifacts artifacts: "Plasma20/MsDevProjects*/**/Release*/*,"+ |
||||
"Plasma20/MSVC10Projects*/**/Release*/*,"+ |
||||
"StaticSDKs*/**/*.dll", |
||||
fingerprint: true, |
||||
followSymlinks: false |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
|
Loading…
Reference in new issue