new platforms

This commit is contained in:
2024-12-25 13:00:19 +03:00
parent af6731feea
commit aa6bdbb8b2

27
Jenkinsfile vendored
View File

@@ -16,30 +16,29 @@ node {
def is_debug = Boolean.valueOf(Debug)
print "Building \"${tag}\" branch"
def pl = new org.SHS.Platforms(this)
pl.get()
def www_dir = "${env.SHSSDK_DIR}/${tag}"
sh "mkdir -p ${www_dir} || true"
writeJSON(file: "${www_dir}/platforms.json", json: pl.root())
def release_dir = sh(script: "pwd", returnStdout: true).trim() + '/release'
echo "Release to ${release_dir}"
sh "mkdir -p ${www_dir} || true"
sh "rm -rvf ${release_dir}"
sh "mkdir -p ${release_dir}/packages"
sh "mkdir -p ${release_dir}/sdk"
def pl = new org.SHS.Platforms(this)
pl.get()
pl.copyToHost("${www_dir}/platforms.json")
pl.forEach ({ dist, toolchain ->
def image_name = "${dist.docker_image}-shs-${tag}"
def image_from = "${dist.docker_image}-shstk"
def sdk_zip_name = "SHSSDK_${tag}_${dist.docker_image}.zip"
def image_name = "${dist.docker.image_basename}-shs-${tag}"
def image_from = "${dist.docker.image_basename}-shstk"
def sdk_zip_name = "SHSSDK_${tag}_${dist.docker.image_basename}.zip"
if (is_debug) {
image_name += "-debug"
image_from += "-debug"
sdk_zip_name = "SHSSDK_${tag}_${dist.docker_image}-debug.zip"
sdk_zip_name = "SHSSDK_${tag}_${dist.docker.image_basename}-debug.zip"
}
def args = ""
for (arg in dist.docker_build_options) {
for (arg in dist.docker.build_options) {
args += " --build-arg ${arg.key}=\"${arg.value}\""
}
args += " --build-arg IMAGE_FROM=${image_from}"
@@ -57,16 +56,16 @@ node {
archiveArtifacts "release/${sdk_zip_name}"
}, blackList: ["android"])
def dist = pl.root().Platforms.Android;
def dist = pl.root().platforms.Android;
if (dist.enabled) {
stage('Android') {
docker.image("${dist.docker_image}-shstk").inside() {
docker.image("${dist.docker.image_basename}-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 -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}"