mirror of
https://github.com/godotengine/build-containers.git
synced 2025-12-31 21:48:41 +03:00
This will also be used for iOS so it makes sense to do it all together with the split out mono clone. This also allows to pin the commit used more easily.
32 lines
1.2 KiB
Docker
32 lines
1.2 KiB
Docker
ARG img_version
|
|
FROM godot-mono:${img_version}
|
|
|
|
ARG mono_version
|
|
|
|
RUN if [ -z "${mono_version}" ]; then echo -e "\n\nargument mono-version is mandatory!\n\n"; exit 1; fi && \
|
|
dnf -y install --setopt=install_weak_deps=False \
|
|
gcc gcc-c++ java-1.8.0-openjdk-devel ncurses-compat-libs && \
|
|
mkdir sdk && cd sdk && \
|
|
curl -LO https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip && \
|
|
unzip sdk-tools-linux-4333796.zip && \
|
|
rm sdk-tools-linux-4333796.zip && \
|
|
yes | tools/bin/sdkmanager --licenses && \
|
|
tools/bin/sdkmanager ndk-bundle 'build-tools;28.0.3' 'platforms;android-28' 'cmake;3.10.2.4988404'
|
|
|
|
ENV ANDROID_HOME=/root/sdk/
|
|
ENV ANDROID_NDK_ROOT=/root/sdk/ndk-bundle/
|
|
|
|
RUN cp -a /root/files/${mono_version} /root && \
|
|
export MONO_SOURCE_ROOT=/root/${mono_version} && \
|
|
export make="make -j" && \
|
|
cd /root/${mono_version}/godot-mono-builds && \
|
|
python3 android.py configure --target=all-runtime && \
|
|
python3 android.py make --target=all-runtime && \
|
|
cd /root/${mono_version} && git clean -fdx && NOCONFIGURE=1 ./autogen.sh && \
|
|
cd /root/${mono_version}/godot-mono-builds && \
|
|
python3 bcl.py make --product=android && \
|
|
cd /root && \
|
|
rm -rf /root/${mono_version}
|
|
|
|
CMD /bin/bash
|