diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9afc041 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,50 @@ +ARG DOCKER_PREFIX=wapmobil + +FROM ${DOCKER_PREFIX}/android + +ARG LIBS_BUILD_NUMBER=9999 +ARG JOBS_COUNT=4 +WORKDIR /soft +#RUN svn co svn://db.shs.com.ru/libs --username peri4 --password a --no-auth-cache --non-interactive --trust-server-cert +RUN git clone -b release --depth 1 --recursive https://git.shs.tools/SHS/libs.git + +WORKDIR /soft/build_libs_linux +RUN cmake -DICU=0 -DQGLENGINE=1 -DQGLVIEW=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../libs/ \ + && make install -j${JOBS_COUNT} && rm -rf * \ + && ldconfig + +WORKDIR /soft/build_libs_windows +RUN cmake -DCMAKE_INSTALL_PREFIX=/soft/windows -DICU=0 -DLIB=0 -DQGLENGINE=1 -DQGLVIEW=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Windows.cmake ../libs/ \ + && make install -j${JOBS_COUNT} && rm -rf * + +WORKDIR /soft/build_libs_macos +RUN cmake -DCMAKE_INSTALL_PREFIX=/soft/osx -DICU=0 -DLIB=0 -DQGLENGINE=1 -DQGLVIEW=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake ../libs/ \ + && make install -j${JOBS_COUNT} && rm -rf * + +ENV _ANDROID_TOOLCHAIN=/usr/lib/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake +ENV _CUR_ABI=armeabi-v7a +WORKDIR /soft/build_libs_android_${_CUR_ABI} +RUN cmake -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLIB=0 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../libs/ \ + && make install -j${JOBS_COUNT} && rm -rf * + +ENV _CUR_ABI=arm64-v8a +WORKDIR /soft/build_libs_android_${_CUR_ABI} +RUN cmake -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLIB=0 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../libs/ \ + && make install -j${JOBS_COUNT} && rm -rf * + +ENV _CUR_ABI=x86 +WORKDIR /soft/build_libs_android_${_CUR_ABI} +RUN cmake -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLIB=0 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../libs/ \ + && make install -j${JOBS_COUNT} && rm -rf * + +ENV _CUR_ABI=x86_64 +WORKDIR /soft/build_libs_android_${_CUR_ABI} +RUN cmake -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLIB=0 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../libs/ \ + && make install -j${JOBS_COUNT} && rm -rf * + +WORKDIR /soft/src + +# examples +# docker build --no-cache -t libs . +# cd +# docker run --rm -it -v $(pwd):/soft/src libs bash diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..0b3d246 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,10 @@ +node { + def img + def def_args = "--no-cache --build-arg LIBS_BUILD_NUMBER=${env.BUILD_NUMBER} --build-arg JOBS_COUNT=4" + if (env.DOCKER_PREFIX) { + img = docker.build("${env.DOCKER_PREFIX}/libs", "${def_args} --build-arg DOCKER_PREFIX=${env.DOCKER_PREFIX} .") + } else { + img = docker.build("libs", "${def_args} .") + } + img.push() +} \ No newline at end of file