@@ -26,27 +26,28 @@ import com.esri.zrh.jenkins.psl.UploadTrackingPsl
26
26
27
27
@Field final List CONFIGS_CHECKOUT = [ [ ba : PSL . BA_CHECKOUT ] ]
28
28
@Field final Map DOCKER_IMAGE_LINUX_CONFIG = [ ba : PSL . BA_LINUX_DOCKER , containerId : " build_tools/ce-tc-prt:almalinux8-gcc11-v2" , containerWorkspace : " /tmp/app" ]
29
+ @Field final Map DOCKER_IMAGE_WINDOWS_CONFIG = [ ba : ' win19-64-d' , containerId : ' palladio/palladio-tc:win19-vc1437-v1' , containerWorkspace : ' c:/tmp/work' ]
29
30
30
31
@Field final List CONFIGS_TEST = [
31
32
DOCKER_IMAGE_LINUX_CONFIG + [ os : CEPL . CFG_OS_RHEL8 , bc : CEPL . CFG_BC_REL , tc : CEPL . CFG_TC_GCC112 , cc : CEPL . CFG_CC_OPT , arch : CEPL . CFG_ARCH_X86_64 ],
32
- [ os : CEPL . CFG_OS_WIN10 , bc : CEPL . CFG_BC_REL , tc : CEPL . CFG_TC_VC1437 , cc : CEPL . CFG_CC_OPT , arch : CEPL . CFG_ARCH_X86_64 ],
33
+ DOCKER_IMAGE_WINDOWS_CONFIG + [ os : CEPL . CFG_OS_WIN10 , bc : CEPL . CFG_BC_REL , tc : CEPL . CFG_TC_VC1437 , cc : CEPL . CFG_CC_OPT , arch : CEPL . CFG_ARCH_X86_64 ],
33
34
]
34
35
35
36
@Field final List CONFIGS_HOUDINI_190 = [
36
37
DOCKER_IMAGE_LINUX_CONFIG + [ os : CEPL . CFG_OS_RHEL8 , bc : CEPL . CFG_BC_REL , tc : CEPL . CFG_TC_GCC112 , cc : CEPL . CFG_CC_OPT , arch : CEPL . CFG_ARCH_X86_64 , houdini : ' 19.0' ],
37
- [ os : CEPL . CFG_OS_WIN10 , bc : CEPL . CFG_BC_REL , tc : CEPL . CFG_TC_VC1437 , cc : CEPL . CFG_CC_OPT , arch : CEPL . CFG_ARCH_X86_64 , houdini : ' 19.0' ],
38
+ DOCKER_IMAGE_WINDOWS_CONFIG + [ os : CEPL . CFG_OS_WIN10 , bc : CEPL . CFG_BC_REL , tc : CEPL . CFG_TC_VC1437 , cc : CEPL . CFG_CC_OPT , arch : CEPL . CFG_ARCH_X86_64 , houdini : ' 19.0' ],
38
39
]
39
40
40
41
@Field final List CONFIGS_HOUDINI_195 = [
41
42
DOCKER_IMAGE_LINUX_CONFIG + [ os : CEPL . CFG_OS_RHEL8 , bc : CEPL . CFG_BC_REL , tc : CEPL . CFG_TC_GCC112 , cc : CEPL . CFG_CC_OPT , arch : CEPL . CFG_ARCH_X86_64 , houdini : ' 19.5' ],
42
- [ os : CEPL . CFG_OS_WIN10 , bc : CEPL . CFG_BC_REL , tc : CEPL . CFG_TC_VC1437 , cc : CEPL . CFG_CC_OPT , arch : CEPL . CFG_ARCH_X86_64 , houdini : ' 19.5' ],
43
+ DOCKER_IMAGE_WINDOWS_CONFIG + [ os : CEPL . CFG_OS_WIN10 , bc : CEPL . CFG_BC_REL , tc : CEPL . CFG_TC_VC1437 , cc : CEPL . CFG_CC_OPT , arch : CEPL . CFG_ARCH_X86_64 , houdini : ' 19.5' ],
43
44
]
44
45
45
46
@Field final List CONFIGS_HOUDINI_200 = [
46
47
DOCKER_IMAGE_LINUX_CONFIG + [ os : CEPL . CFG_OS_RHEL8 , bc : CEPL . CFG_BC_REL , tc : CEPL . CFG_TC_GCC112 , cc : CEPL . CFG_CC_OPT , arch : CEPL . CFG_ARCH_X86_64 , houdini : ' 20.0' ],
47
- [ os : CEPL . CFG_OS_WIN10 , bc : CEPL . CFG_BC_REL , tc : CEPL . CFG_TC_VC1437 , cc : CEPL . CFG_CC_OPT , arch : CEPL . CFG_ARCH_X86_64 , houdini : ' 20.0' ],
48
+ DOCKER_IMAGE_WINDOWS_CONFIG + [ os : CEPL . CFG_OS_WIN10 , bc : CEPL . CFG_BC_REL , tc : CEPL . CFG_TC_VC1437 , cc : CEPL . CFG_CC_OPT , arch : CEPL . CFG_ARCH_X86_64 , houdini : ' 20.0' ],
48
49
DOCKER_IMAGE_LINUX_CONFIG + [ grp : ' cesdkLatest' , os : CEPL . CFG_OS_RHEL8 , bc : CEPL . CFG_BC_REL , tc : CEPL . CFG_TC_GCC112 , cc : CEPL . CFG_CC_OPT , arch : CEPL . CFG_ARCH_X86_64 , houdini : ' 20.0' , cesdk : PAPL . Dependencies . CESDK_LATEST ],
49
- [ grp : ' cesdkLatest' , os : CEPL . CFG_OS_WIN10 , bc : CEPL . CFG_BC_REL , tc : CEPL . CFG_TC_VC1438 , cc : CEPL . CFG_CC_OPT , arch : CEPL . CFG_ARCH_X86_64 , houdini : ' 20.0' , cesdk : PAPL . Dependencies . CESDK_LATEST ],
50
+ DOCKER_IMAGE_WINDOWS_CONFIG + [ grp : ' cesdkLatest' , os : CEPL . CFG_OS_WIN10 , bc : CEPL . CFG_BC_REL , tc : CEPL . CFG_TC_VC1438 , cc : CEPL . CFG_CC_OPT , arch : CEPL . CFG_ARCH_X86_64 , houdini : ' 20.0' , cesdk : PAPL . Dependencies . CESDK_LATEST ],
50
51
]
51
52
52
53
@@ -59,7 +60,7 @@ properties([ disableConcurrentBuilds() ])
59
60
60
61
// -- PIPELINE
61
62
62
- stage(' prepare' ){
63
+ stage(' prepare' ) {
63
64
cepl. runParallel(taskGenCheckout())
64
65
}
65
66
@@ -122,10 +123,7 @@ def taskBuildPalladio(cfg) {
122
123
[ key : ' PLD_HOUDINI_VERSION' , val : cfg. houdini]
123
124
]
124
125
125
- final String stdOut = buildPalladio(cfg, defs, BUILD_TARGET )
126
- if (! papl. runsOnDocker(cfg)) {
127
- scanAndPublishBuildIssues(cfg, stdOut)
128
- }
126
+ buildPalladio(cfg, defs, BUILD_TARGET )
129
127
130
128
def versionExtractor = { p ->
131
129
def vers = (p =~ / .*palladio-(.*)\. hdn.*/ )
@@ -139,11 +137,14 @@ def taskBuildPalladio(cfg) {
139
137
}
140
138
141
139
def buildPalladio (cfg , defs , target ) {
140
+ final Map dirMap = [ " ${ env.WORKSPACE} " : cfg. containerWorkspace ]
141
+ final String src = " ${ cfg.containerWorkspace} /${ SOURCE} " ;
142
+ final String bld = " ${ cfg.containerWorkspace} /build" ;
143
+ final Map envMap = [ WORKSPACE : cfg. containerWorkspace ]
144
+
145
+ String cmd = ' '
142
146
if (cfg. os == CEPL . CFG_OS_RHEL8 ) {
143
- Map dirMap = [ " ${ env.WORKSPACE} " : cfg. containerWorkspace ]
144
- Map envMap = [ DEFAULT_UID : ' $(id -u)' , DEFAULT_GID : ' $(id -g)' , WORKSPACE : cfg. containerWorkspace ]
145
- String src = " ${ cfg.containerWorkspace} /${ SOURCE} " ;
146
- String bld = " ${ cfg.containerWorkspace} /build" ;
147
+ envMap << [ DEFAULT_UID : ' $(id -u)' , DEFAULT_GID : ' $(id -g)' ]
147
148
148
149
cmd = " cd ${ src} "
149
150
cmd + = " \n python3 -m ensurepip"
@@ -153,18 +154,16 @@ def buildPalladio(cfg, defs, target) {
153
154
cmd + = " \n cd ${ cfg.containerWorkspace} "
154
155
cmd + = " \n source \$ {PYVENV}/bin/activate"
155
156
cmd + = " \n conan remote add --force --insert=0 zrh-conan ${ psl.CONAN_REMOTE_URL} "
156
-
157
- cmd + = " \n cmake -G Ninja -DCMAKE_BUILD_TYPE=Release "
158
- defs. each { d -> cmd + = " -D${ d.key} =${ (d.val instanceof Closure) ? d.val.call(cfg) : d.val } " }
159
- cmd + = " -S ${ src} -B ${ bld} "
160
-
161
- cmd + = " \n cmake --build ${ bld} --target ${ target} "
162
- String stdOut = psl. runDockerCmd(cfg. containerId, cfg. containerWorkspace, cmd, dirMap, envMap)
163
- echo(stdOut)
164
- return stdOut
165
- } else {
166
- return papl. runCMakeBuild(SOURCE , ' build' , target, cfg, defs)
167
157
}
158
+
159
+ String cmd = " cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -S ${ src} -B ${ bld} "
160
+ defs. each { d ->
161
+ String val = (d. val instanceof Closure ) ? d. val. call(cfg) : d. val
162
+ val = val. replace(' %' , ' %%' ) // Windows: defer expansion of env vars to container run time
163
+ cmd + = " -D${ d.key} =${ val} "
164
+ }
165
+ cmd + = " && cmake --build ${ bld} --target ${ target} "
166
+ psl. runDockerCmd(cfg. containerId, cfg. containerWorkspace, cmd, dirMap, envMap)
168
167
}
169
168
170
169
def scanAndPublishBuildIssues (Map cfg , String consoleOut ) {
0 commit comments