Jenkinsfile

This commit is contained in:
2023-04-25 20:05:13 +03:00
parent 13bb35f09b
commit 13fabcaca7

46
Jenkinsfile vendored
View File

@@ -19,37 +19,21 @@ node {
sh 'rm -rf ./build ./bin ./release ./builds'
}
}, blackList: ["android"])
}
pipeline {
agent none
stages {
stage('Android') {
agent {
docker { image 'android-shstk' }
}
environment {
NDK_PLATFORM = 'android-21'
ANDROID_TOOLCHAIN = '/usr/lib/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake'
}
steps {
echo 'build Android'
script {
sh "rm -rf ./release"
sh "mkdir -p build"
def archs = ['armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64']
for (int i = 0; i < archs.size(); ++i) {
echo 'build Android ${archs[i]}'
sh "cd build && rm -rf ./CMake*"
sh "cd build && cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=${ANDROID_TOOLCHAIN} -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${archs[i]} -DCMAKE_INSTALL_PREFIX=/soft/android/${archs[i]} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DBUILD_NUMBER=${env.BUILD_NUMBER} -DLIB=0 -DSHS_QT_VERSION=5 ../src"
sh "cd build && cmake --build ./ --target install -j${env.JOBS_COUNT}"
}
sh "cd build && cmake --build ./ --target deploy -j${env.JOBS_COUNT}"
archiveArtifacts 'release/Android/*.apk*'
archiveArtifacts 'release/Android/*.aab'
sh 'rm -rf ./build ./bin ./release ./builds'
}
def dist = pl.root().Android;
stage('Android') {
docker.image("${dist.docker_image}-shstk").inside() {
sh "rm -rf ./release"
sh "mkdir -p build"
for (arch in ['armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64']) {
echo 'build Android ${arch}'
sh "cd build && rm -rf ./CMake*"
sh "cd build && cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=${dist.cmake_toolchain} -DANDROID_PLATFORM=${dist.docker_build_options.NDK_PLATFORM} -DANDROID_ABI=${arch} -DCMAKE_INSTALL_PREFIX=/soft/android/${arch} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DBUILD_NUMBER=${env.BUILD_NUMBER} -DLIB=0 -DSHS_QT_VERSION=5 ../src"
sh "cd build && cmake --build ./ --target install -j${env.JOBS_COUNT}"
}
sh "cd build && cmake --build ./ --target deploy -j${env.JOBS_COUNT}"
archiveArtifacts 'release/Android/*.apk*'
archiveArtifacts 'release/Android/*.aab'
sh 'rm -rf ./build ./bin ./release ./builds'
}
}
}
}