1
+ # vim:set ft=dockerfile:
2
+
3
+ # Do not edit individual Dockerfiles manually. Instead, please make changes to the Dockerfile.template, which will be used by the build script to generate Dockerfiles.
4
+
5
+ # By policy, the base image tag should be a quarterly tag unless there's a
6
+ # specific reason to use a different one. This means January, April, July, or
7
+ # October.
8
+
9
+ FROM cimg/base:2023.10
10
+
11
+ LABEL maintainer=
"CircleCI Execution Team <[email protected] >"
12
+
13
+ # Java 17 is default
14
+ RUN sudo apt-get update && sudo apt-get install -y \
15
+ ant \
16
+ openjdk-8-jdk \
17
+ openjdk-17-jdk \
18
+ ruby-full \
19
+ && \
20
+ sudo rm -rf /var/lib/apt/lists/* && \
21
+ ruby -v && \
22
+ sudo gem install bundler && \
23
+ bundle version
24
+
25
+ # fixes issue with bundle install highlighted in https://github.com/CircleCI-Public/cimg-android/issues/82
26
+ RUN sudo chmod -R a+w /var/lib/gems/ /usr/local/bin
27
+
28
+ ENV M2_HOME /usr/local/apache-maven
29
+ ENV MAVEN_OPTS -Xmx2048m
30
+ ENV PATH $M2_HOME/bin:$PATH
31
+ # Set JAVA_HOME (and related) environment variable. This will be set to our
32
+ # default Java version of 17 but the user would need to reset it when changing
33
+ # JAVA versions.
34
+ ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
35
+ ENV JDK_HOME=${JAVA_HOME}
36
+ ENV JRE_HOME=${JDK_HOME}
37
+ ENV MAVEN_VERSION=3.9.5
38
+ RUN curl -sSL -o /tmp/maven.tar.gz http://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz && \
39
+ sudo tar -xz -C /usr/local -f /tmp/maven.tar.gz && \
40
+ sudo ln -sf /usr/local/apache-maven-${MAVEN_VERSION} /usr/local/apache-maven && \
41
+ rm -rf /tmp/maven.tar.gz && \
42
+ mkdir -p /home/circleci/.m2
43
+
44
+ ENV GRADLE_VERSION=8.5
45
+ ENV PATH $PATH:/usr/local/gradle-${GRADLE_VERSION}/bin
46
+ RUN URL=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip && \
47
+ curl -sSL -o /tmp/gradle.zip $URL && \
48
+ sudo unzip -d /usr/local /tmp/gradle.zip && \
49
+ rm -rf /tmp/gradle.zip
50
+
51
+ # Install Android SDK Tools
52
+ ENV ANDROID_HOME "/home/circleci/android-sdk"
53
+ ENV ANDROID_SDK_ROOT $ANDROID_HOME
54
+ ENV CMDLINE_TOOLS_ROOT "${ANDROID_HOME}/cmdline-tools/latest/bin"
55
+ ENV ADB_INSTALL_TIMEOUT 120
56
+ ENV PATH "${ANDROID_HOME}/emulator:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools:${ANDROID_HOME}/platform-tools/bin:${PATH}"
57
+ # You can find the latest command line tools here: https://developer.android.com/studio#command-line-tools-only
58
+ RUN SDK_TOOLS_URL="https://dl.google.com/android/repository/commandlinetools-linux-10406996_latest.zip" && \
59
+ mkdir -p ${ANDROID_HOME}/cmdline-tools && \
60
+ mkdir ${ANDROID_HOME}/platforms && \
61
+ mkdir ${ANDROID_HOME}/ndk && \
62
+ wget -O /tmp/cmdline-tools.zip -t 5 "${SDK_TOOLS_URL}" && \
63
+ unzip -q /tmp/cmdline-tools.zip -d ${ANDROID_HOME}/cmdline-tools && \
64
+ rm /tmp/cmdline-tools.zip && \
65
+ mv ${ANDROID_HOME}/cmdline-tools/cmdline-tools ${ANDROID_HOME}/cmdline-tools/latest
66
+
67
+ RUN echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "tools" && \
68
+ echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "platform-tools" && \
69
+ echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "build-tools;34.0.0-rc3" && \
70
+ echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "build-tools;33.0.2" && \
71
+ echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "build-tools;32.1.0-rc1"
72
+
73
+ RUN echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "platforms;android-28" && \
74
+ echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "platforms;android-29" && \
75
+ echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "platforms;android-30" && \
76
+ echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "platforms;android-31" && \
77
+ echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "platforms;android-32" && \
78
+ echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "platforms;android-33" && \
79
+ echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "platforms;android-34"
80
+
81
+ # Install some useful packages
82
+ RUN echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "extras;android;m2repository" && \
83
+ echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "extras;google;m2repository" && \
84
+ echo y | ${CMDLINE_TOOLS_ROOT}/sdkmanager "extras;google;google_play_services" && \
85
+ sudo gem install fastlane --version 2.217.0 --no-document && \
86
+ curl -sL https://firebase.tools | bash
87
+
88
+ # Install Google Cloud CLI
89
+ # Latest gcloud version can be found here: https://cloud.google.com/sdk/docs/release-notes
90
+ ENV GCLOUD_VERSION=453.0.0-0
91
+ RUN curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - && \
92
+ sudo add-apt-repository "deb https://packages.cloud.google.com/apt cloud-sdk main" && \
93
+ sudo apt-get update && sudo apt-get install -y google-cloud-sdk=${GCLOUD_VERSION} && \
94
+ sudo gcloud config set --installation component_manager/disable_update_check true && \
95
+ sudo gcloud config set disable_usage_reporting false
0 commit comments