1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-25 22:42:04 +02:00

[docker] update Android for Conan v2

This commit is contained in:
Andrey Filipenkov
2025-08-27 15:56:47 +03:00
parent 830e46e758
commit 72855c1bc4

View File

@@ -6,35 +6,34 @@ RUN apt-get update && apt-get install -y openjdk-17-jdk python3 pipx cmake ccach
ENV PIPX_HOME="/opt/pipx" ENV PIPX_HOME="/opt/pipx"
ENV PIPX_BIN_DIR="/usr/local/bin" ENV PIPX_BIN_DIR="/usr/local/bin"
ENV PIPX_MAN_DIR="/usr/local/share/man" ENV PIPX_MAN_DIR="/usr/local/share/man"
RUN pipx install 'conan<2.0' RUN pipx install 'conan'
RUN pipx install 'sdkmanager==0.6.10' RUN pipx install 'sdkmanager'
RUN conan profile new conan --detect RUN conan profile detect
RUN wget https://github.com/vcmi/vcmi-dependencies/releases/download/1.3/dependencies-android-arm64-v8a.txz ENV DEPS_VERSION="2025-08-24"
RUN tar -xf dependencies-android-arm64-v8a.txz -C ~/.conan ENV DEPS="dependencies-android-arm64-v8a.tgz"
RUN rm dependencies-android-arm64-v8a.txz RUN wget --https-only --max-redirect=20 https://github.com/vcmi/vcmi-dependencies/releases/download/$DEPS_VERSION/$DEPS
RUN conan cache restore $DEPS
RUN rm $DEPS
ENV JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64" ENV JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
ENV ANDROID_HOME="/usr/lib/android-sdk" ENV ANDROID_HOME="/usr/lib/android-sdk"
ENV GRADLE_USER_HOME="/vcmi/.cache/grandle" ENV GRADLE_USER_HOME="/vcmi/.cache/gradle"
ENV GENERATE_ONLY_BUILT_CONFIG=1 ENV NDK_VERSION="25.2.9519653"
RUN sdkmanager --install "platform-tools" RUN sdkmanager --install "platform-tools" "platforms;android-35" "ndk;$NDK_VERSION"
RUN sdkmanager --install "platforms;android-34"
RUN yes | sdkmanager --licenses RUN yes | sdkmanager --licenses
RUN conan download android-ndk/r25c@:4db1be536558d833e52e862fd84d64d75c2b3656 -r conancenter
CMD ["sh", "-c", " \ CMD ["sh", "-c", " \
# switch to mounted dir # switch to mounted dir
cd /vcmi ; \ cd /vcmi ; \
# install conan stuff # prepare Gradle config
conan install . --install-folder=conan-generated --no-imports --build=never --profile:build=default --profile:host=CI/conan/android-64-ndk ; \ mkdir -p $GRADLE_USER_HOME ; \
# link conan ndk that grandle can find it echo android.bundle.enableUncompressedNativeLibs=true > $GRADLE_USER_HOME/gradle.properties ; \
mkdir -p /usr/lib/android-sdk/ndk ; \ # generate CMake toolchain
ln -s -T ~/.conan/data/android-ndk/r25c/_/_/package/4db1be536558d833e52e862fd84d64d75c2b3656/bin /usr/lib/android-sdk/ndk/25.2.9519653 ; \ conan install . --output-folder=conan-generated --build=never --profile=dependencies/conan_profiles/android-64 --profile=dependencies/conan_profiles/base/android-system -c tools.android:ndk_path=$ANDROID_HOME/ndk/$NDK_VERSION && \
# build # build
cmake --preset android-daily-release ; \ cmake --preset android-daily-release && \
cmake --build --preset android-daily-release \ cmake --build --preset android-daily-release \
"] "]