From e1e3b94c2d45dd0e5b632c3e4a97e38f055ee646 Mon Sep 17 00:00:00 2001 From: zontreck Date: Sun, 7 Jul 2024 13:31:56 -0700 Subject: [PATCH] Fix up a bunch of stuff in the dockerfile --- LinuxGeneralCompiler/Dockerfile | 40 ++++++++++++++++++++++++------- LinuxGeneralCompiler/packages.txt | 10 ++++++++ 2 files changed, 42 insertions(+), 8 deletions(-) create mode 100644 LinuxGeneralCompiler/packages.txt diff --git a/LinuxGeneralCompiler/Dockerfile b/LinuxGeneralCompiler/Dockerfile index aab75e5..b603d2a 100644 --- a/LinuxGeneralCompiler/Dockerfile +++ b/LinuxGeneralCompiler/Dockerfile @@ -8,9 +8,18 @@ ENV DOCKER 1 USER 0 WORKDIR / +ENV GRADLE_VERSION 8.3 + +ENV ANDROID_HOME "/opt/android-sdk-linux" +ENV ANDROID_SDK_VER 11076708 +ENV ANDROID_SDK_ROOT $ANDROID_HOME +ENV PATH $PATH:$ANDROID_HOME/cmdline-tools:$ANDROID_HOME/cmdline-tools/bin:$ANDROID_HOME/platform-tools:/flutter/bin + +ENV DEBIAN_FRONTEND=noninteractive + RUN apt update; apt-get upgrade -y -RUN apt install -y build-essential cmake ninja-build openjdk-17-jdk nasm git curl wget openjdk-17-jre android-sdk android-sdk-build-tools android-sdk-platform-tools clang pkg-config unzip libgtk-3-dev +RUN apt install -y build-essential cmake ninja-build openjdk-17-jdk nasm git curl wget openjdk-17-jre android-sdk android-sdk-build-tools android-sdk-platform-tools clang pkg-config unzip libgtk-3-dev zip lldb libglu1-mesa libpulse0 cargo python3-dev libffi-dev libssl-dev apt-utils RUN curl -sO https://ci.zontreck.com/jnlpJars/agent.jar @@ -18,20 +27,26 @@ RUN curl -sO https://storage.googleapis.com/flutter_infra_release/releases/stabl RUN tar -xf /flutter_linux_3.22.2-stable.tar.xz -RUN curl -sO https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip +RUN curl -sO https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_VER}_latest.zip RUN curl -sO https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2024.1.1.11/android-studio-2024.1.1.11-linux.tar.gz -WORKDIR /adk -RUN unzip /commandlinetools-linux-11076708_latest.zip +RUN unzip -qq /commandlinetools-linux-${ANDROID_SDK_VER}_latest.zip -d $ANDROID_SDK_ROOT +RUN rm -v /commandlinetools-linux-${ANDROID_SDK_VER}_latest.zip -RUN tar -xf /android-studio-2024.1.1.11-linux.tar.gz +RUN mkdir -p $ANDROID_HOME/licenses +RUN yes | $ANDROID_HOME/cmdline-tools/bin/sdkmanager --licenses --sdk_root=${ANDROID_SDK_ROOT} -RUN echo "export PATH=$PATH:/flutter/bin:/adk/cmdline-tools/bin:/adk/android-studio/bin" > /flutter/env +RUN mkdir -p /home/adk/.android \ + && mkdir -pv /home/adk/app \ + && touch /home/adk/.android/repositories.cfg -WORKDIR / +ENV HOME /home/adk +WORKDIR /home/adk -RUN export PATH=$PATH:/flutter/bin:/adk/cmdline-tools/bin:/adk/android-studio/bin +RUN curl -s "https://get.sdkman.io" | bash + +ADD packages.txt $HOME RUN apt install -y fonts-liberation libgtk-4-1 libgbm1 libu2f-udev libvulkan1 xdg-utils @@ -46,6 +61,15 @@ RUN /flutter/bin/flutter --disable-analytics # RUN sdkmanager --install "cmdline-tools;latest" +RUN $ANDROID_HOME/cmdline-tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} --update \ + && while read -r pkg; do PKGS="${PKGS}${pkg} "; done < $HOME/packages.txt \ + && $ANDROID_HOME/cmdline-tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_ROOT} $PKGS \ + && rm $HOME/packages.txt + +# Install Gradle +RUN source "${HOME}/.sdkman/bin/sdkman-init.sh" \ + && sdk install gradle ${GRADLE_VERSION} + RUN /flutter/bin/flutter doctor ENTRYPOINT [ "java", "-jar", "/agent.jar", "-url", "https://ci.zontreck.com", "-secret", "@/agent.secret", "-name", "Linux", "-workDir", "/builder" ] \ No newline at end of file diff --git a/LinuxGeneralCompiler/packages.txt b/LinuxGeneralCompiler/packages.txt new file mode 100644 index 0000000..a103ba9 --- /dev/null +++ b/LinuxGeneralCompiler/packages.txt @@ -0,0 +1,10 @@ +build-tools;34.0.0 +build-tools;33.0.2 +platforms;android-34 +platforms;android-34-ext8 +platforms;android-33 +platform-tools +extras;android;m2repository +extras;google;google_play_services +extras;google;m2repository +add-ons;addon-google_apis-google-24 \ No newline at end of file