diff --git a/.github/workflows/release-image.yml b/.github/workflows/release-image.yml
index 57436f1..f64a4b2 100644
--- a/.github/workflows/release-image.yml
+++ b/.github/workflows/release-image.yml
@@ -75,25 +75,34 @@ jobs:
packages: write
strategy:
matrix:
- version: [ '30', '31', '32', '33' ]
- variant: [ '', '-emulator', '-ndk', '-stf-client' ]
+ version: [ '32', '33', '34' ]
+ variant: [ '', '-emulator', '-ndk', '-stf-client', '-jdk17', '-jdk11' ]
needs: [checks-hadolint, checks-shfmt, checks-shellcheck, checks-update]
steps:
- name: Checkout repository
uses: actions/checkout@v3
+ - name: Check Exists
+ id: check-dir
+ run: |
+ if [ ! -d ${{ matrix.version }}${{ matrix.variant }} ]; then
+ echo "Directory ${{ matrix.version }}${{ matrix.variant }} does not exist"
+ echo "skipdir=true" >> $GITHUB_OUTPUT
+ fi
+
- name: Set up Docker Buildx
+ if: steps.check-dir.outputs.skipdir != 'true'
uses: docker/setup-buildx-action@v2
- name: Login to Docker Hub
- if: github.ref == 'refs/heads/master'
+ if: steps.check-dir.outputs.skipdir != 'true' && github.ref == 'refs/heads/master'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Login to GAR
- if: github.ref == 'refs/heads/master'
+ if: steps.check-dir.outputs.skipdir != 'true' && github.ref == 'refs/heads/master'
uses: docker/login-action@v2
with:
registry: europe-west1-docker.pkg.dev
@@ -102,6 +111,7 @@ jobs:
- name: Extract metadata (tags, labels) for Docker
id: meta
+ if: steps.check-dir.outputs.skipdir != 'true'
uses: docker/metadata-action@v4
with:
images: |
@@ -114,6 +124,7 @@ jobs:
- name: Cache Mode
id: cache-mode
+ if: steps.check-dir.outputs.skipdir != 'true'
run: |
if [ "$VARIANT" == '-emulator' ]; then
echo "::set-output name=mode::min"
@@ -124,6 +135,7 @@ jobs:
VARIANT: ${{ matrix.variant }}
- name: Build and push Docker image
+ if: steps.check-dir.outputs.skipdir != 'true'
uses: docker/build-push-action@v4
with:
context: ${{ matrix.version }}${{ matrix.variant }}
diff --git a/30-emulator/Dockerfile b/30-emulator/Dockerfile
deleted file mode 100644
index cf0a7f6..0000000
--- a/30-emulator/Dockerfile
+++ /dev/null
@@ -1,119 +0,0 @@
-FROM ubuntu:focal
-SHELL ["/bin/bash", "-o", "pipefail", "-c"]
-
-# hadolint ignore=DL3008
-RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
- expect \
- locales \
- nano \
- openjdk-11-jdk \
- unzip \
- curl \
- xz-utils \
- git \
- && rm -rf /var/lib/apt/lists/*
-
-# Seems somethings build better with utf8 locale specified
-# http://jaredmarkell.com/docker-and-locales/
-# https://github.com/square/moshi/issues/804#issuecomment-466926878
-RUN locale-gen en_US.UTF-8
-ENV LANG=en_US.UTF-8
-ENV LANGUAGE=en_US:en
-ENV LC_ALL=en_US.UTF-8
-
-####
-# hadolint ignore=DL3008
-RUN apt-get update \
- && apt-get install -y --no-install-recommends \
- apt-transport-https \
- gnupg \
- lsb-release \
- # For nodejs we use nodesource, its nice and easy and gets us the correct version
- # Find latest link https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions
- && curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
- && echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \
- && echo "deb-src https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \
- && apt-get update \
- && apt-get install -y --no-install-recommends \
- nodejs \
- && rm -rf /var/lib/apt/lists/*
-
-# hadolint ignore=DL3016
-RUN npm -g install xcode-build-tools yarn
-####
-
-# Install the SDK
-# https://developer.android.com/studio#downloads
-ENV ANDROID_CMDLINE_TOOLS=https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip
-# hadolint ignore=DL3003
-RUN ( \
- cd /opt \
- && mkdir android-sdk-linux \
- && curl -sSL -o cmdline-tools.zip "$ANDROID_CMDLINE_TOOLS" \
- && unzip cmdline-tools.zip -d android-sdk-linux/cmdline-tools \
- && rm -f cmdline-tools.zip \
- && chown -R root:root android-sdk-linux \
- )
-
-ENV ANDROID_SDK_ROOT=/opt/android-sdk-linux
-ENV ANDROID_HOME=$ANDROID_SDK_ROOT
-ENV PATH=$ANDROID_HOME/cmdline-tools/cmdline-tools/bin:$ANDROID_HOME/cmdline-tools/tools/bin:$ANDROID_SDK_ROOT/tools/bin:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools:$PATH
-
-# Install custom tools
-COPY tools/license_accepter /opt/tools/
-COPY tools/adb-all /opt/tools
-ENV PATH=/opt/tools:$PATH
-RUN license_accepter
-
-# Install Android platform and things
-ENV ANDROID_PLATFORM_VERSION=30
-ENV ANDROID_BUILD_TOOLS_VERSION=30.0.3
-ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH
-ENV ANDROID_EXTRA_PACKAGES="build-tools;30.0.0 build-tools;30.0.1 build-tools;30.0.2"
-ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository"
-ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0"
-RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES
-
-
-####
-# hadolint ignore=DL3008
-RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
- file \
- qt5-default \
- libpulse0 \
- && rm -rf /var/lib/apt/lists/*
-
-ENV ANDROID_EMULATOR_PACKAGE="system-images;android-$ANDROID_PLATFORM_VERSION;google_apis_playstore;x86_64"
-RUN sdkmanager --verbose "emulator" $ANDROID_EMULATOR_PACKAGE
-
-# Fix for emulator detect 64bit
-ENV SHELL=/bin/bash
-# https://www.bram.us/2017/05/12/launching-the-android-emulator-from-the-command-line/
-ENV PATH=$ANDROID_SDK_ROOT/emulator:$PATH
-
-COPY tools-emulator/android-start-emulator /opt/tools/
-COPY tools-emulator/android-wait-for-emulator /opt/tools/
-RUN adb keygen ~/.android/adbkey
-####
-
-
-####
-RUN apt-get update \
-&& apt-get -y --no-install-recommends install imagemagick=8:6.9.10.23+dfsg-2.1ubuntu11 \
-&& rm -rf /var/lib/apt/lists/* \
-&& curl -k -0L https://github.com/postmodern/ruby-install/archive/master.tar.gz -o ruby-install.tar.gz \
-&& tar -xzvf ruby-install.tar.gz
-WORKDIR /ruby-install-master
-RUN apt-get update && apt-get -y --no-install-recommends install make=4.2.1-1.2 \
-&& rm -rf /var/lib/apt/lists/* \
-&& make install
-WORKDIR /
-RUN apt-get update \
-&& rm -rf ruby-install-master && rm -rf ruby-install.tar.gz \
-&& ruby-install --latest \
-&& ruby-install -i /usr/local/ ruby 2.6.8 -- --disable-install-doc \
-&& gem update --system --no-document \
-&& gem install bundler:1.17.3 --force
-####
diff --git a/30-stf-client/Dockerfile b/30-stf-client/Dockerfile
deleted file mode 100644
index 8efd86b..0000000
--- a/30-stf-client/Dockerfile
+++ /dev/null
@@ -1,117 +0,0 @@
-FROM ubuntu:focal
-SHELL ["/bin/bash", "-o", "pipefail", "-c"]
-
-# hadolint ignore=DL3008
-RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
- expect \
- locales \
- nano \
- openjdk-11-jdk \
- unzip \
- curl \
- xz-utils \
- git \
- && rm -rf /var/lib/apt/lists/*
-
-# Seems somethings build better with utf8 locale specified
-# http://jaredmarkell.com/docker-and-locales/
-# https://github.com/square/moshi/issues/804#issuecomment-466926878
-RUN locale-gen en_US.UTF-8
-ENV LANG=en_US.UTF-8
-ENV LANGUAGE=en_US:en
-ENV LC_ALL=en_US.UTF-8
-
-####
-# hadolint ignore=DL3008
-RUN apt-get update \
- && apt-get install -y --no-install-recommends \
- apt-transport-https \
- gnupg \
- lsb-release \
- # For nodejs we use nodesource, its nice and easy and gets us the correct version
- # Find latest link https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions
- && curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
- && echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \
- && echo "deb-src https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \
- && apt-get update \
- && apt-get install -y --no-install-recommends \
- nodejs \
- && rm -rf /var/lib/apt/lists/*
-
-# hadolint ignore=DL3016
-RUN npm -g install xcode-build-tools yarn
-####
-
-# Install the SDK
-# https://developer.android.com/studio#downloads
-ENV ANDROID_CMDLINE_TOOLS=https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip
-# hadolint ignore=DL3003
-RUN ( \
- cd /opt \
- && mkdir android-sdk-linux \
- && curl -sSL -o cmdline-tools.zip "$ANDROID_CMDLINE_TOOLS" \
- && unzip cmdline-tools.zip -d android-sdk-linux/cmdline-tools \
- && rm -f cmdline-tools.zip \
- && chown -R root:root android-sdk-linux \
- )
-
-ENV ANDROID_SDK_ROOT=/opt/android-sdk-linux
-ENV ANDROID_HOME=$ANDROID_SDK_ROOT
-ENV PATH=$ANDROID_HOME/cmdline-tools/cmdline-tools/bin:$ANDROID_HOME/cmdline-tools/tools/bin:$ANDROID_SDK_ROOT/tools/bin:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools:$PATH
-
-# Install custom tools
-COPY tools/license_accepter /opt/tools/
-COPY tools/adb-all /opt/tools
-ENV PATH=/opt/tools:$PATH
-RUN license_accepter
-
-# Install Android platform and things
-ENV ANDROID_PLATFORM_VERSION=30
-ENV ANDROID_BUILD_TOOLS_VERSION=30.0.3
-ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH
-ENV ANDROID_EXTRA_PACKAGES="build-tools;30.0.0 build-tools;30.0.1 build-tools;30.0.2"
-ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository"
-ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0"
-RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES
-
-####
-# hadolint ignore=DL3008,DL3028,SC2086
-RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
- ruby \
- && savedAptMark="$(apt-mark showmanual)" \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
- # stf-client
- build-essential \
- gem \
- # Without rake fails to install stf-client
- && gem install rake stf-client --no-doc \
- && apt-mark auto '.*' > /dev/null \
- && apt-mark manual $savedAptMark > /dev/null \
- && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
- && rm -rf /var/lib/apt/lists/* \
-
-RUN adb keygen ~/.android/adbkey
-####
-
-
-
-####
-RUN apt-get update \
-&& apt-get -y --no-install-recommends install imagemagick=8:6.9.10.23+dfsg-2.1ubuntu11 \
-&& rm -rf /var/lib/apt/lists/* \
-&& curl -k -0L https://github.com/postmodern/ruby-install/archive/master.tar.gz -o ruby-install.tar.gz \
-&& tar -xzvf ruby-install.tar.gz
-WORKDIR /ruby-install-master
-RUN apt-get update && apt-get -y --no-install-recommends install make=4.2.1-1.2 \
-&& rm -rf /var/lib/apt/lists/* \
-&& make install
-WORKDIR /
-RUN apt-get update \
-&& rm -rf ruby-install-master && rm -rf ruby-install.tar.gz \
-&& ruby-install --latest \
-&& ruby-install -i /usr/local/ ruby 2.6.8 -- --disable-install-doc \
-&& gem update --system --no-document \
-&& gem install bundler:1.17.3 --force
-####
diff --git a/31-emulator/tools-emulator/android-start-emulator b/31-emulator/tools-emulator/android-start-emulator
deleted file mode 100755
index 998d92a..0000000
--- a/31-emulator/tools-emulator/android-start-emulator
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-set -e
-
-# shellcheck disable=SC2086
-avdmanager create avd --package "$ANDROID_EMULATOR_PACKAGE" --name "${AVD_NAME:-test}" --abi "google_apis_playstore/x86_64" --device "${AVD_DEVICE:-pixel}" --force ${AVD_ARGS:-}
-# shellcheck disable=SC2086
-emulator -avd "${AVD_NAME:-test}" -no-audio -no-boot-anim -no-window -accel on -gpu off ${EMULATOR_ARGS:-} &
-android-wait-for-emulator
-adb shell input keyevent 82
diff --git a/31-emulator/tools-emulator/android-wait-for-emulator b/31-emulator/tools-emulator/android-wait-for-emulator
deleted file mode 100755
index 2bc2fb5..0000000
--- a/31-emulator/tools-emulator/android-wait-for-emulator
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/bash
-set -e
-# Originally written by Ralf Kistner , but placed in the public domain
-
-sleep_time=5
-timeout_in_sec=60
-
-fail_counter=0
-until [[ "$(adb -e shell getprop init.svc.bootanim)" =~ "stopped" ]]; do
- ((fail_counter += sleep_time))
- echo "Waiting for emulator to start (bootanim)"
- if [[ $fail_counter -gt timeout_in_sec ]]; then
- echo "Timeout ($timeout_in_sec seconds) reached; failed to start emulator"
- exit 1
- fi
- sleep $sleep_time
-done
-
-fail_counter=0
-until [[ "$(adb -e shell getprop sys.boot_completed)" == "1" ]]; do
- ((fail_counter += sleep_time))
- echo "Waiting for emulator to start (boot_completed)"
- if [[ $fail_counter -gt timeout_in_sec ]]; then
- echo "Timeout ($timeout_in_sec seconds) reached; failed to start emulator"
- exit 1
- fi
- sleep $sleep_time
-done
-
-echo "Emulator is ready"
diff --git a/31/tools/adb-all b/31/tools/adb-all
deleted file mode 100755
index 04992da..0000000
--- a/31/tools/adb-all
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/bash
-# Script adb-all
-# Taken from https://stackoverflow.com/a/8672540/859027
-# Usage
-# You can run any command adb provide on all your current devices
-# ./adb-all is the equivalent of ./adb -s
-#
-# Examples
-# ./adb-all version
-# ./adb-all install apidemo.apk
-# ./adb-all uninstall com.example.android.apis
-
-adb devices | while read -r line; do
- if [ ! "$line" = "" ] && [ "$(echo "$line" | awk '{print $2}')" = "device" ]; then
- device=$(echo "$line" | awk '{print $1}')
- echo "$device $* ..."
- adb -s "$device" "$@"
- fi
-done
diff --git a/31/tools/license_accepter b/31/tools/license_accepter
deleted file mode 100755
index 388d973..0000000
--- a/31/tools/license_accepter
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/bash
-
-check_android_sdk_root() {
- if [ "$#" -lt 1 ]; then
- if [ -z "${ANDROID_SDK_ROOT}" ]; then
- echo "Please either set ANDROID_SDK_ROOT environment variable, or pass ANDROID_SDK_ROOT directory as a parameter"
- exit 1
- fi
- else
- ANDROID_SDK_ROOT=$1
- fi
- echo "ANDROID_SDK_ROOT is at $ANDROID_SDK_ROOT"
-}
-
-accept_all_android_licenses() {
- ANDROID_LICENSES="$ANDROID_SDK_ROOT/licenses"
- if [ ! -d "$ANDROID_LICENSES" ]; then
- echo "Android licenses directory doesn't exist, creating one..."
- mkdir -p "$ANDROID_LICENSES"
- fi
- accept_license_of android-sdk-license 8933bad161af4178b1185d1a37fbf41ea5269c55
- accept_license_of android-sdk-license d56f5187479451eabf01fb78af6dfcb131a6481e
- accept_license_of android-sdk-license 24333f8a63b6825ea9c5514f83c2829b004d1fee
- accept_license_of android-sdk-preview-license 84831b9409646a918e30573bab4c9c91346d8abd
- accept_license_of intel-android-extra-license d975f751698a77b662f1254ddbeed3901e976f5a
- accept_license_of android-sdk-arm-dbt-license 859f317696f67ef3d7f30a50a5560e7834b43903
-}
-
-accept_license_of() {
- local license=$1
- local content=$2
- local file=$ANDROID_LICENSES/$license
- if [ -f "$file" ]; then
- if grep -q "^$content$" "$file"; then
- echo "$license: $content has been accepted already"
- else
- echo "Accepting $license: $content ..."
- echo -e "$content" >>"$file"
- fi
- else
- echo "Accepting $license: $content ..."
- echo -e "$content" >"$file"
- fi
-}
-
-check_android_sdk_root "$@"
-accept_all_android_licenses
diff --git a/30/Dockerfile b/32-jdk17/Dockerfile
similarity index 92%
rename from 30/Dockerfile
rename to 32-jdk17/Dockerfile
index 069625e..fecb2b8 100644
--- a/30/Dockerfile
+++ b/32-jdk17/Dockerfile
@@ -7,7 +7,7 @@ RUN apt-get update \
expect \
locales \
nano \
- openjdk-11-jdk \
+ openjdk-17-jdk \
unzip \
curl \
xz-utils \
@@ -32,8 +32,8 @@ RUN apt-get update \
# For nodejs we use nodesource, its nice and easy and gets us the correct version
# Find latest link https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions
&& curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
- && echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \
- && echo "deb-src https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \
+ && echo "deb https://deb.nodesource.com/node_18.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \
+ && echo "deb-src https://deb.nodesource.com/node_18.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
nodejs \
@@ -67,10 +67,10 @@ ENV PATH=/opt/tools:$PATH
RUN license_accepter
# Install Android platform and things
-ENV ANDROID_PLATFORM_VERSION=30
-ENV ANDROID_BUILD_TOOLS_VERSION=30.0.3
+ENV ANDROID_PLATFORM_VERSION=32
+ENV ANDROID_BUILD_TOOLS_VERSION=32.0.0
ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH
-ENV ANDROID_EXTRA_PACKAGES="build-tools;30.0.0 build-tools;30.0.1 build-tools;30.0.2"
+ENV ANDROID_EXTRA_PACKAGES="build-tools;32.0.0"
ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository"
ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0"
RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES
diff --git a/30-emulator/tools/adb-all b/32-jdk17/tools/adb-all
similarity index 100%
rename from 30-emulator/tools/adb-all
rename to 32-jdk17/tools/adb-all
diff --git a/30-emulator/tools/license_accepter b/32-jdk17/tools/license_accepter
similarity index 100%
rename from 30-emulator/tools/license_accepter
rename to 32-jdk17/tools/license_accepter
diff --git a/33-emulator/Dockerfile b/33-emulator/Dockerfile
index 69020c7..4bf5635 100644
--- a/33-emulator/Dockerfile
+++ b/33-emulator/Dockerfile
@@ -68,9 +68,9 @@ RUN license_accepter
# Install Android platform and things
ENV ANDROID_PLATFORM_VERSION=33
-ENV ANDROID_BUILD_TOOLS_VERSION=33.0.0
+ENV ANDROID_BUILD_TOOLS_VERSION=33.0.2
ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH
-ENV ANDROID_EXTRA_PACKAGES="build-tools;33.0.0 build-tools;33.0.1 build-tools;33.0.2"
+ENV ANDROID_EXTRA_PACKAGES="build-tools;33.0.0 build-tools;33.0.1"
ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository"
ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0"
RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES
diff --git a/30-ndk/Dockerfile b/33-jdk17/Dockerfile
similarity index 86%
rename from 30-ndk/Dockerfile
rename to 33-jdk17/Dockerfile
index 4fb2d52..131b87f 100644
--- a/30-ndk/Dockerfile
+++ b/33-jdk17/Dockerfile
@@ -7,7 +7,7 @@ RUN apt-get update \
expect \
locales \
nano \
- openjdk-11-jdk \
+ openjdk-17-jdk \
unzip \
curl \
xz-utils \
@@ -32,8 +32,8 @@ RUN apt-get update \
# For nodejs we use nodesource, its nice and easy and gets us the correct version
# Find latest link https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions
&& curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
- && echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \
- && echo "deb-src https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \
+ && echo "deb https://deb.nodesource.com/node_18.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \
+ && echo "deb-src https://deb.nodesource.com/node_18.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
nodejs \
@@ -67,22 +67,16 @@ ENV PATH=/opt/tools:$PATH
RUN license_accepter
# Install Android platform and things
-ENV ANDROID_PLATFORM_VERSION=30
-ENV ANDROID_BUILD_TOOLS_VERSION=30.0.3
+ENV ANDROID_PLATFORM_VERSION=33
+ENV ANDROID_BUILD_TOOLS_VERSION=33.0.2
ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH
-ENV ANDROID_EXTRA_PACKAGES="build-tools;30.0.0 build-tools;30.0.1 build-tools;30.0.2"
+ENV ANDROID_EXTRA_PACKAGES="build-tools;33.0.0 build-tools;33.0.1"
ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository"
ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0"
RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES
-####
-ENV ANDROID_NDK_PACKAGES="ndk-bundle cmake;3.10.2.4988404 cmake;3.6.4111459 cmake;3.18.1"
-ENV ANDROID_NDK_ROOT=$ANDROID_HOME/ndk-bundle
-ENV ANDROID_NDK_HOME=$ANDROID_NDK_ROOT
-RUN sdkmanager --verbose $ANDROID_NDK_PACKAGES
-####
####
RUN apt-get update \
diff --git a/30-ndk/tools/adb-all b/33-jdk17/tools/adb-all
similarity index 100%
rename from 30-ndk/tools/adb-all
rename to 33-jdk17/tools/adb-all
diff --git a/30-ndk/tools/license_accepter b/33-jdk17/tools/license_accepter
similarity index 100%
rename from 30-ndk/tools/license_accepter
rename to 33-jdk17/tools/license_accepter
diff --git a/33-ndk/Dockerfile b/33-ndk/Dockerfile
index 97de852..a943cd7 100644
--- a/33-ndk/Dockerfile
+++ b/33-ndk/Dockerfile
@@ -68,9 +68,9 @@ RUN license_accepter
# Install Android platform and things
ENV ANDROID_PLATFORM_VERSION=33
-ENV ANDROID_BUILD_TOOLS_VERSION=33.0.0
+ENV ANDROID_BUILD_TOOLS_VERSION=33.0.2
ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH
-ENV ANDROID_EXTRA_PACKAGES="build-tools;33.0.0 build-tools;33.0.1 build-tools;33.0.2"
+ENV ANDROID_EXTRA_PACKAGES="build-tools;33.0.0 build-tools;33.0.1"
ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository"
ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0"
RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES
diff --git a/33-stf-client/Dockerfile b/33-stf-client/Dockerfile
index 0b2d13a..4ae5123 100644
--- a/33-stf-client/Dockerfile
+++ b/33-stf-client/Dockerfile
@@ -68,9 +68,9 @@ RUN license_accepter
# Install Android platform and things
ENV ANDROID_PLATFORM_VERSION=33
-ENV ANDROID_BUILD_TOOLS_VERSION=33.0.0
+ENV ANDROID_BUILD_TOOLS_VERSION=33.0.2
ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH
-ENV ANDROID_EXTRA_PACKAGES="build-tools;33.0.0 build-tools;33.0.1 build-tools;33.0.2"
+ENV ANDROID_EXTRA_PACKAGES="build-tools;33.0.0 build-tools;33.0.1"
ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository"
ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0"
RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES
diff --git a/33/Dockerfile b/33/Dockerfile
index dd4b348..b2e89c5 100644
--- a/33/Dockerfile
+++ b/33/Dockerfile
@@ -68,9 +68,9 @@ RUN license_accepter
# Install Android platform and things
ENV ANDROID_PLATFORM_VERSION=33
-ENV ANDROID_BUILD_TOOLS_VERSION=33.0.0
+ENV ANDROID_BUILD_TOOLS_VERSION=33.0.2
ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH
-ENV ANDROID_EXTRA_PACKAGES="build-tools;33.0.0 build-tools;33.0.1 build-tools;33.0.2"
+ENV ANDROID_EXTRA_PACKAGES="build-tools;33.0.0 build-tools;33.0.1"
ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository"
ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0"
RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES
diff --git a/31-emulator/Dockerfile b/34-emulator/Dockerfile
similarity index 94%
rename from 31-emulator/Dockerfile
rename to 34-emulator/Dockerfile
index 60d05f3..176b02e 100644
--- a/31-emulator/Dockerfile
+++ b/34-emulator/Dockerfile
@@ -7,7 +7,7 @@ RUN apt-get update \
expect \
locales \
nano \
- openjdk-11-jdk \
+ openjdk-17-jdk \
unzip \
curl \
xz-utils \
@@ -32,8 +32,8 @@ RUN apt-get update \
# For nodejs we use nodesource, its nice and easy and gets us the correct version
# Find latest link https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions
&& curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
- && echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \
- && echo "deb-src https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \
+ && echo "deb https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \
+ && echo "deb-src https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
nodejs \
@@ -67,10 +67,10 @@ ENV PATH=/opt/tools:$PATH
RUN license_accepter
# Install Android platform and things
-ENV ANDROID_PLATFORM_VERSION=31
-ENV ANDROID_BUILD_TOOLS_VERSION=31.0.0
+ENV ANDROID_PLATFORM_VERSION=34
+ENV ANDROID_BUILD_TOOLS_VERSION=34.0.0
ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH
-ENV ANDROID_EXTRA_PACKAGES="build-tools;31.0.0"
+ENV ANDROID_EXTRA_PACKAGES=
ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository"
ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0"
RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES
diff --git a/30-emulator/tools-emulator/android-start-emulator b/34-emulator/tools-emulator/android-start-emulator
similarity index 100%
rename from 30-emulator/tools-emulator/android-start-emulator
rename to 34-emulator/tools-emulator/android-start-emulator
diff --git a/30-emulator/tools-emulator/android-wait-for-emulator b/34-emulator/tools-emulator/android-wait-for-emulator
similarity index 100%
rename from 30-emulator/tools-emulator/android-wait-for-emulator
rename to 34-emulator/tools-emulator/android-wait-for-emulator
diff --git a/30-stf-client/tools/adb-all b/34-emulator/tools/adb-all
similarity index 100%
rename from 30-stf-client/tools/adb-all
rename to 34-emulator/tools/adb-all
diff --git a/30-stf-client/tools/license_accepter b/34-emulator/tools/license_accepter
similarity index 100%
rename from 30-stf-client/tools/license_accepter
rename to 34-emulator/tools/license_accepter
diff --git a/31/Dockerfile b/34-jdk11/Dockerfile
similarity index 93%
rename from 31/Dockerfile
rename to 34-jdk11/Dockerfile
index 1898b6b..b6f1b65 100644
--- a/31/Dockerfile
+++ b/34-jdk11/Dockerfile
@@ -32,8 +32,8 @@ RUN apt-get update \
# For nodejs we use nodesource, its nice and easy and gets us the correct version
# Find latest link https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions
&& curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
- && echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \
- && echo "deb-src https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \
+ && echo "deb https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \
+ && echo "deb-src https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
nodejs \
@@ -67,10 +67,10 @@ ENV PATH=/opt/tools:$PATH
RUN license_accepter
# Install Android platform and things
-ENV ANDROID_PLATFORM_VERSION=31
-ENV ANDROID_BUILD_TOOLS_VERSION=31.0.0
+ENV ANDROID_PLATFORM_VERSION=34
+ENV ANDROID_BUILD_TOOLS_VERSION=34.0.0
ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH
-ENV ANDROID_EXTRA_PACKAGES="build-tools;31.0.0"
+ENV ANDROID_EXTRA_PACKAGES=
ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository"
ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0"
RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES
diff --git a/30/tools/adb-all b/34-jdk11/tools/adb-all
similarity index 100%
rename from 30/tools/adb-all
rename to 34-jdk11/tools/adb-all
diff --git a/30/tools/license_accepter b/34-jdk11/tools/license_accepter
similarity index 100%
rename from 30/tools/license_accepter
rename to 34-jdk11/tools/license_accepter
diff --git a/31-ndk/Dockerfile b/34-ndk/Dockerfile
similarity index 93%
rename from 31-ndk/Dockerfile
rename to 34-ndk/Dockerfile
index 36944b3..7684a42 100644
--- a/31-ndk/Dockerfile
+++ b/34-ndk/Dockerfile
@@ -7,7 +7,7 @@ RUN apt-get update \
expect \
locales \
nano \
- openjdk-11-jdk \
+ openjdk-17-jdk \
unzip \
curl \
xz-utils \
@@ -32,8 +32,8 @@ RUN apt-get update \
# For nodejs we use nodesource, its nice and easy and gets us the correct version
# Find latest link https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions
&& curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
- && echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \
- && echo "deb-src https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \
+ && echo "deb https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \
+ && echo "deb-src https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
nodejs \
@@ -67,10 +67,10 @@ ENV PATH=/opt/tools:$PATH
RUN license_accepter
# Install Android platform and things
-ENV ANDROID_PLATFORM_VERSION=31
-ENV ANDROID_BUILD_TOOLS_VERSION=31.0.0
+ENV ANDROID_PLATFORM_VERSION=34
+ENV ANDROID_BUILD_TOOLS_VERSION=34.0.0
ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH
-ENV ANDROID_EXTRA_PACKAGES="build-tools;31.0.0"
+ENV ANDROID_EXTRA_PACKAGES=
ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository"
ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0"
RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES
diff --git a/31-emulator/tools/adb-all b/34-ndk/tools/adb-all
similarity index 100%
rename from 31-emulator/tools/adb-all
rename to 34-ndk/tools/adb-all
diff --git a/31-emulator/tools/license_accepter b/34-ndk/tools/license_accepter
similarity index 100%
rename from 31-emulator/tools/license_accepter
rename to 34-ndk/tools/license_accepter
diff --git a/31-stf-client/Dockerfile b/34-stf-client/Dockerfile
similarity index 94%
rename from 31-stf-client/Dockerfile
rename to 34-stf-client/Dockerfile
index fe345d0..91742d7 100644
--- a/31-stf-client/Dockerfile
+++ b/34-stf-client/Dockerfile
@@ -7,7 +7,7 @@ RUN apt-get update \
expect \
locales \
nano \
- openjdk-11-jdk \
+ openjdk-17-jdk \
unzip \
curl \
xz-utils \
@@ -32,8 +32,8 @@ RUN apt-get update \
# For nodejs we use nodesource, its nice and easy and gets us the correct version
# Find latest link https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions
&& curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
- && echo "deb https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \
- && echo "deb-src https://deb.nodesource.com/node_14.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \
+ && echo "deb https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \
+ && echo "deb-src https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
nodejs \
@@ -67,10 +67,10 @@ ENV PATH=/opt/tools:$PATH
RUN license_accepter
# Install Android platform and things
-ENV ANDROID_PLATFORM_VERSION=31
-ENV ANDROID_BUILD_TOOLS_VERSION=31.0.0
+ENV ANDROID_PLATFORM_VERSION=34
+ENV ANDROID_BUILD_TOOLS_VERSION=34.0.0
ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH
-ENV ANDROID_EXTRA_PACKAGES="build-tools;31.0.0"
+ENV ANDROID_EXTRA_PACKAGES=
ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository"
ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0"
RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES
diff --git a/31-ndk/tools/adb-all b/34-stf-client/tools/adb-all
similarity index 100%
rename from 31-ndk/tools/adb-all
rename to 34-stf-client/tools/adb-all
diff --git a/31-ndk/tools/license_accepter b/34-stf-client/tools/license_accepter
similarity index 100%
rename from 31-ndk/tools/license_accepter
rename to 34-stf-client/tools/license_accepter
diff --git a/34/Dockerfile b/34/Dockerfile
new file mode 100644
index 0000000..961f4a6
--- /dev/null
+++ b/34/Dockerfile
@@ -0,0 +1,98 @@
+FROM ubuntu:focal
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+
+# hadolint ignore=DL3008
+RUN apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ expect \
+ locales \
+ nano \
+ openjdk-17-jdk \
+ unzip \
+ curl \
+ xz-utils \
+ git \
+ && rm -rf /var/lib/apt/lists/*
+
+# Seems somethings build better with utf8 locale specified
+# http://jaredmarkell.com/docker-and-locales/
+# https://github.com/square/moshi/issues/804#issuecomment-466926878
+RUN locale-gen en_US.UTF-8
+ENV LANG=en_US.UTF-8
+ENV LANGUAGE=en_US:en
+ENV LC_ALL=en_US.UTF-8
+
+####
+# hadolint ignore=DL3008
+RUN apt-get update \
+ && apt-get install -y --no-install-recommends \
+ apt-transport-https \
+ gnupg \
+ lsb-release \
+ # For nodejs we use nodesource, its nice and easy and gets us the correct version
+ # Find latest link https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions
+ && curl -sSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
+ && echo "deb https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \
+ && echo "deb-src https://deb.nodesource.com/node_20.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \
+ && apt-get update \
+ && apt-get install -y --no-install-recommends \
+ nodejs \
+ && rm -rf /var/lib/apt/lists/*
+
+# hadolint ignore=DL3016
+RUN npm -g install xcode-build-tools yarn
+####
+
+# Install the SDK
+# https://developer.android.com/studio#downloads
+ENV ANDROID_CMDLINE_TOOLS=https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip
+# hadolint ignore=DL3003
+RUN ( \
+ cd /opt \
+ && mkdir android-sdk-linux \
+ && curl -sSL -o cmdline-tools.zip "$ANDROID_CMDLINE_TOOLS" \
+ && unzip cmdline-tools.zip -d android-sdk-linux/cmdline-tools \
+ && rm -f cmdline-tools.zip \
+ && chown -R root:root android-sdk-linux \
+ )
+
+ENV ANDROID_SDK_ROOT=/opt/android-sdk-linux
+ENV ANDROID_HOME=$ANDROID_SDK_ROOT
+ENV PATH=$ANDROID_HOME/cmdline-tools/cmdline-tools/bin:$ANDROID_HOME/cmdline-tools/tools/bin:$ANDROID_SDK_ROOT/tools/bin:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/platform-tools:$PATH
+
+# Install custom tools
+COPY tools/license_accepter /opt/tools/
+COPY tools/adb-all /opt/tools
+ENV PATH=/opt/tools:$PATH
+RUN license_accepter
+
+# Install Android platform and things
+ENV ANDROID_PLATFORM_VERSION=34
+ENV ANDROID_BUILD_TOOLS_VERSION=34.0.0
+ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH
+ENV ANDROID_EXTRA_PACKAGES=
+ENV ANDROID_REPOSITORIES="extras;android;m2repository extras;google;m2repository"
+ENV ANDROID_CONSTRAINT_PACKAGES="extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.1 extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0"
+RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION" "build-tools;$ANDROID_BUILD_TOOLS_VERSION" $ANDROID_EXTRA_PACKAGES $ANDROID_REPOSITORIES $ANDROID_CONSTRAINT_PACKAGES
+
+
+
+
+####
+RUN apt-get update \
+&& apt-get -y --no-install-recommends install imagemagick=8:6.9.10.23+dfsg-2.1ubuntu11 \
+&& rm -rf /var/lib/apt/lists/* \
+&& curl -k -0L https://github.com/postmodern/ruby-install/archive/master.tar.gz -o ruby-install.tar.gz \
+&& tar -xzvf ruby-install.tar.gz
+WORKDIR /ruby-install-master
+RUN apt-get update && apt-get -y --no-install-recommends install make=4.2.1-1.2 \
+&& rm -rf /var/lib/apt/lists/* \
+&& make install
+WORKDIR /
+RUN apt-get update \
+&& rm -rf ruby-install-master && rm -rf ruby-install.tar.gz \
+&& ruby-install --latest \
+&& ruby-install -i /usr/local/ ruby 2.6.8 -- --disable-install-doc \
+&& gem update --system --no-document \
+&& gem install bundler:1.17.3 --force
+####
diff --git a/31-stf-client/tools/adb-all b/34/tools/adb-all
similarity index 100%
rename from 31-stf-client/tools/adb-all
rename to 34/tools/adb-all
diff --git a/31-stf-client/tools/license_accepter b/34/tools/license_accepter
similarity index 100%
rename from 31-stf-client/tools/license_accepter
rename to 34/tools/license_accepter
diff --git a/README.md b/README.md
index da60844..752c3c9 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,19 @@ An image that lets us build android apps with docker using gitlab-ci
## Tags available
+* `33`
+* `33-emulator`
+* `33-ndk`
+* `33-stf-client`
+* `33-jdk17`
+* `32`
+* `32-emulator`
+* `32-ndk`
+* `32-stf-client`
+* `32-jdk17`
+
+## Unmaintained tags
+
* `31`
* `31-emulator`
* `31-ndk`
@@ -12,9 +25,6 @@ An image that lets us build android apps with docker using gitlab-ci
* `30-emulator`
* `30-ndk`
* `30-stf-client`
-
-## Unmaintained tags
-
* `30-ruby-bundler` (ruby included in all builds now)
* `31-ruby-bundler`
* `29`
diff --git a/update.sh b/update.sh
index 5d86068..2d37a3b 100755
--- a/update.sh
+++ b/update.sh
@@ -1,32 +1,33 @@
#!/usr/bin/env bash
set -e
-variants=('30' '31' '32' '33')
+variants=('32' '33' '34')
## Disabled creating extra node variants, rather just having a default for each SDK
#node_variants=('14' '18')
declare -A default_node_variants=(
- ['30']='14'
- ['31']='14'
['32']='18'
['33']='18'
+ ['34']='20'
)
-jdk_variants=('11')
-default_jdk_variant='11'
+jdk_variants=('11' '17')
+declare -A default_jdk_variants=(
+ ['32']='11'
+ ['33']='11'
+ ['34']='17'
+)
declare -A build_tools=(
- ['30']='30.0.3'
- ['31']='31.0.0'
['32']='32.0.0'
- ['33']='33.0.0'
+ ['33']='33.0.2'
+ ['34']='34.0.0'
)
declare -A extra_packages=(
- ['30']='"build-tools;30.0.0 build-tools;30.0.1 build-tools;30.0.2"'
- ['31']='"build-tools;31.0.0"'
['32']='"build-tools;32.0.0"'
- ['33']='"build-tools;33.0.0 build-tools;33.0.1 build-tools;33.0.2"'
+ ['33']='"build-tools;33.0.0 build-tools;33.0.1"'
+ ['34']=''
)
for variant in "${variants[@]}"; do
@@ -35,6 +36,7 @@ for variant in "${variants[@]}"; do
for type in 'default' 'emulator' 'ndk' 'stf-client'; do
template="Dockerfile.template"
default_node_variant="${default_node_variants[$variant]}"
+ default_jdk_variant="${default_jdk_variants[$variant]}"
node_variant="$default_node_variant"
if [ "$type" != "default" ]; then
dir="$variant-$type"