Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Library('pipeline') _
- // Call the pipeline build, pass our hook in
- def Nodes = [
- windows: 'windows-engine',
- linux: 'linux-engine',
- osx: 'osx-engine'
- ];
- def buildEngine(cfg) {
- if (isUnix()) {
- bitbucketStatusNotify(buildState: 'STARTED')
- checkout scm
- sh 'git clean -xfd && git submodule foreach "git clean -xfd"'
- if (isOsx()) {
- sh ''' CC=clang CXX=clang++ cmake \
- -G Ninja \
- -B ${WORKSPACE}/out \
- -DCMAKE_INSTALL_PREFIX:PATH=${WORKSPACE}/out/Release \
- -DCMAKE_BUILD_TYPE=Release \
- -DVCPKG_ALLOW_APPLE_CLANG=1 \
- -DAPARAVI_BUILD_NUMBER=${BUILD_NUMBER} \
- -DCOTIRE_MAXIMUM_NUMBER_OF_UNITY_INCLUDES=-j2 \
- -DCMAKE_TOOLCHAIN_FILE=${WORKSPACE}/apLib/cmake/triplets/x64-osx-appleclang11-aparavi.cmake \
- ${WORKSPACE}
- '''
- } else {
- sh '''CXX=clang++-9 CC=clang-9 cmake \
- -G Ninja \
- -B out \
- -DCMAKE_INSTALL_PREFIX:PATH=${WORKSPACE}/out/Release \
- -DCMAKE_BUILD_TYPE=Release \
- -DAPARAVI_BUILD_NUMBER=${BUILD_NUMBER} \
- -DCOTIRE_MAXIMUM_NUMBER_OF_UNITY_INCLUDES=-j2 \
- -DCMAKE_TOOLCHAIN_FILE=${WORKSPACE}/apLib/cmake/triplets/x64-linux-clang9-aparavi.cmake \
- ${WORKSPACE}
- '''
- }
- sh 'cmake --build out --target all_unity -j2'
- }
- else {
- bitbucketStatusNotify(buildState: 'STARTED')
- checkout scm
- bat 'git clean -xfd && git clean -xfd && git submodule foreach "git clean -xfd"'
- bat 'mkdir %WORKSPACE%\\out'
- bat multiline([
- "vcvarsall.bat amd64",
- "cmake -G Ninja -B %WORKSPACE%\\out \
- -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%\\out\\Release \
- -DCMAKE_BUILD_TYPE=Release \
- -DAPARAVI_BUILD_NUMBER=%BUILD_NUMBER% \
- -DCOTIRE_MAXIMUM_NUMBER_OF_UNITY_INCLUDES=-j2 \
- -DCMAKE_TOOLCHAIN_FILE=%WORKSPACE%/apLib/cmake/triplets/x64-windows-vs2019-aparavi.cmake \
- %WORKSPACE%",
- "cmake --build out --target all_unity -j2"
- ])
- }
- }
- def testEngine(cfg) {
- if (isUnix()) {
- sh 'out/engLib/engTest/unity/engtest | tee engtest.log'
- sh 'out/apLib/apTest/unity/aptest | tee aptest.log'
- } else {
- bat 'out\\engLib\\engTest\\unity\\engtest | tee engtest.log'
- bat 'out\\apLib\\apTest\\unity\\aptest | tee aptest.log'
- }
- archiveArtifacts artifacts: 'engtest.log, aptest.log'
- }
- def packageEngine(cfg) {
- if (isUnix()) {
- sh 'cd out && cpack . && mv *.tar.gz ../ && mv engine-*.json ../ && mv *.sha512 ../'
- } else {
- bat 'cd out && cpack . && move *.tar.gz ..\\ && move engine-*.json ..\\ && move *.sha512 ..\\'
- }
- archiveArtifacts artifacts: "engine-*.tar.gz,engine-*.json,engine-*.sha512"
- }
- // Call the pipeline build, pass our hook in
- // Call the pipeline build, pass our hook in
- builder(params, Nodes, null, {cfg ->
- buildEngine(cfg)
- testApp(cfg)
- packageApp(cfg)
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement