Advertisement
Guest User

Untitled

a guest
Dec 24th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Groovy 2.70 KB | None | 0 0
  1. @Library('pipeline') _
  2.  
  3. // Call the pipeline build, pass our hook in
  4. def Nodes = [
  5.     windows: 'windows-engine',
  6.     linux: 'linux-engine',
  7.     osx: 'osx-engine'
  8. ];
  9.  
  10. def buildEngine(cfg) {
  11.     if (isUnix()) {
  12.         bitbucketStatusNotify(buildState: 'STARTED')
  13.         checkout scm
  14.         sh 'git clean -xfd && git submodule foreach "git clean -xfd"'
  15.         if (isOsx()) {
  16.             sh ''' CC=clang CXX=clang++ cmake \
  17.                 -G Ninja \
  18.                 -B ${WORKSPACE}/out \
  19.                 -DCMAKE_INSTALL_PREFIX:PATH=${WORKSPACE}/out/Release \
  20.                 -DCMAKE_BUILD_TYPE=Release \
  21.                 -DVCPKG_ALLOW_APPLE_CLANG=1 \
  22.                 -DAPARAVI_BUILD_NUMBER=${BUILD_NUMBER} \
  23.                 -DCOTIRE_MAXIMUM_NUMBER_OF_UNITY_INCLUDES=-j2 \
  24.                 -DCMAKE_TOOLCHAIN_FILE=${WORKSPACE}/apLib/cmake/triplets/x64-osx-appleclang11-aparavi.cmake \
  25.                 ${WORKSPACE}
  26.             '''
  27.         } else {
  28.             sh '''CXX=clang++-9 CC=clang-9 cmake \
  29.                 -G Ninja \
  30.                 -B out \
  31.                 -DCMAKE_INSTALL_PREFIX:PATH=${WORKSPACE}/out/Release \
  32.                 -DCMAKE_BUILD_TYPE=Release \
  33.                 -DAPARAVI_BUILD_NUMBER=${BUILD_NUMBER} \
  34.                 -DCOTIRE_MAXIMUM_NUMBER_OF_UNITY_INCLUDES=-j2 \
  35.                 -DCMAKE_TOOLCHAIN_FILE=${WORKSPACE}/apLib/cmake/triplets/x64-linux-clang9-aparavi.cmake \
  36.                 ${WORKSPACE}
  37.             '''
  38.         }
  39.         sh 'cmake --build out --target all_unity -j2'
  40.     }
  41.     else {
  42.         bitbucketStatusNotify(buildState: 'STARTED')
  43.         checkout scm
  44.         bat 'git clean -xfd && git clean -xfd && git submodule foreach "git clean -xfd"'
  45.         bat 'mkdir %WORKSPACE%\\out'
  46.         bat multiline([
  47.             "vcvarsall.bat amd64",
  48.             "cmake -G Ninja -B %WORKSPACE%\\out \
  49.                 -DCMAKE_INSTALL_PREFIX:PATH=%WORKSPACE%\\out\\Release \
  50.                 -DCMAKE_BUILD_TYPE=Release \
  51.                 -DAPARAVI_BUILD_NUMBER=%BUILD_NUMBER% \
  52.                 -DCOTIRE_MAXIMUM_NUMBER_OF_UNITY_INCLUDES=-j2 \
  53.                 -DCMAKE_TOOLCHAIN_FILE=%WORKSPACE%/apLib/cmake/triplets/x64-windows-vs2019-aparavi.cmake \
  54.                 %WORKSPACE%",
  55.             "cmake --build out --target all_unity -j2"
  56.         ])
  57.     }
  58. }
  59.  
  60. def testEngine(cfg) {
  61.     if (isUnix()) {
  62.         sh 'out/engLib/engTest/unity/engtest | tee engtest.log'
  63.         sh 'out/apLib/apTest/unity/aptest | tee aptest.log'
  64.     } else {
  65.         bat 'out\\engLib\\engTest\\unity\\engtest | tee engtest.log'
  66.         bat 'out\\apLib\\apTest\\unity\\aptest | tee aptest.log'
  67.     }
  68.  
  69.     archiveArtifacts artifacts: 'engtest.log, aptest.log'
  70. }
  71.  
  72. def packageEngine(cfg) {
  73.     if (isUnix()) {
  74.         sh 'cd out && cpack . && mv *.tar.gz ../ && mv engine-*.json ../ && mv *.sha512 ../'
  75.     } else {
  76.         bat 'cd out && cpack . && move *.tar.gz ..\\ && move engine-*.json ..\\ && move *.sha512 ..\\'
  77.     }
  78.     archiveArtifacts artifacts: "engine-*.tar.gz,engine-*.json,engine-*.sha512"
  79. }
  80.  
  81. // Call the pipeline build, pass our hook in
  82. // Call the pipeline build, pass our hook in
  83. builder(params, Nodes, null, {cfg ->
  84.     buildEngine(cfg)
  85.     testApp(cfg)
  86.     packageApp(cfg)
  87. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement