diff --git a/.github/workflows/release-image.yml b/.github/workflows/release-image.yml
index b80240c..4ae2abe 100644
--- a/.github/workflows/release-image.yml
+++ b/.github/workflows/release-image.yml
@@ -76,7 +76,7 @@ jobs:
packages: write
strategy:
matrix:
- version: ["32", "33", "34"]
+ version: ["33", "34", "35"]
variant: ["", "-emulator", "-ndk", "-stf-client", "-jdk17", "-jdk11"]
needs: [checks-hadolint, checks-shfmt, checks-shellcheck, checks-update]
steps:
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..494f4a7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+build_docker_images.sh
+docker_build_log.txt
+.DS_Store
\ No newline at end of file
diff --git a/32-jdk17/Dockerfile b/32-jdk17/Dockerfile
deleted file mode 100644
index ee6faff..0000000
--- a/32-jdk17/Dockerfile
+++ /dev/null
@@ -1,92 +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-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_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 \
- && 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=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;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
-
-
-
-
-####
-# hadolint ignore=DL3008,SC1091
-RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 \
- && rm -rf /var/lib/apt/lists/* \
- && gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
- && curl -sSL https://get.rvm.io | bash -s stable --ruby --without-gems="rvm rubygems-bundler" \
- && echo -e "source /usr/local/rvm/scripts/rvm\n$(cat /etc/bash.bashrc)" >/etc/bash.bashrc \
- && source /usr/local/rvm/scripts/rvm \
- && gem install bundler -v '~> 1.0' --force --no-document --default
-ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
-####
diff --git a/32-stf-client/Dockerfile b/32-stf-client/Dockerfile
deleted file mode 100644
index 4633cec..0000000
--- a/32-stf-client/Dockerfile
+++ /dev/null
@@ -1,111 +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_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 \
- && 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=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;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
-
-####
-# 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
-####
-
-
-
-####
-# hadolint ignore=DL3008,SC1091
-RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 \
- && rm -rf /var/lib/apt/lists/* \
- && gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
- && curl -sSL https://get.rvm.io | bash -s stable --ruby --without-gems="rvm rubygems-bundler" \
- && echo -e "source /usr/local/rvm/scripts/rvm\n$(cat /etc/bash.bashrc)" >/etc/bash.bashrc \
- && source /usr/local/rvm/scripts/rvm \
- && gem install bundler -v '~> 1.0' --force --no-document --default
-ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
-####
diff --git a/32/Dockerfile b/32/Dockerfile
deleted file mode 100644
index bbef90c..0000000
--- a/32/Dockerfile
+++ /dev/null
@@ -1,92 +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_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 \
- && 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=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;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
-
-
-
-
-####
-# hadolint ignore=DL3008,SC1091
-RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 \
- && rm -rf /var/lib/apt/lists/* \
- && gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
- && curl -sSL https://get.rvm.io | bash -s stable --ruby --without-gems="rvm rubygems-bundler" \
- && echo -e "source /usr/local/rvm/scripts/rvm\n$(cat /etc/bash.bashrc)" >/etc/bash.bashrc \
- && source /usr/local/rvm/scripts/rvm \
- && gem install bundler -v '~> 1.0' --force --no-document --default
-ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
-####
diff --git a/33-emulator/Dockerfile b/33-emulator/Dockerfile
index 006b8e7..98eea7e 100644
--- a/33-emulator/Dockerfile
+++ b/33-emulator/Dockerfile
@@ -1,17 +1,18 @@
-FROM ubuntu:focal
+FROM ubuntu:jammy
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 \
+ expect \
+ apt-utils \
+ locales \
+ nano \
+ openjdk-11-jdk \
+ unzip \
+ curl \
+ xz-utils \
+ git \
&& rm -rf /var/lib/apt/lists/*
# Seems somethings build better with utf8 locale specified
@@ -26,21 +27,21 @@ 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 \
+ ca-certificates \
+ 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_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 \
+ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg \
+ && echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
- nodejs \
+ nodejs \
&& rm -rf /var/lib/apt/lists/*
# hadolint ignore=DL3016
-RUN npm -g install xcode-build-tools yarn
+RUN npm install -g xcode-build-tools yarn
####
# Install the SDK
@@ -48,12 +49,12 @@ RUN npm -g install xcode-build-tools yarn
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 \
+ 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
@@ -72,24 +73,31 @@ 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"
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_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 --update && \
+ sdkmanager --verbose \
+ "platform-tools" \
+ "platforms;android-${ANDROID_PLATFORM_VERSION}" \
+ "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
+ ${ANDROID_EXTRA_PACKAGES:+${ANDROID_EXTRA_PACKAGES}} \
+ ${ANDROID_REPOSITORIES:+${ANDROID_REPOSITORIES}} \
+ ${ANDROID_CONSTRAINT_PACKAGES:+${ANDROID_CONSTRAINT_PACKAGES}}
####
# hadolint ignore=DL3008
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
- file \
- qt5-default \
- libpulse0 \
+ file \
+ qtbase5-dev \
+ 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
+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
@@ -102,12 +110,22 @@ RUN adb keygen ~/.android/adbkey
####
# hadolint ignore=DL3008,SC1091
RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 build-essential \
&& rm -rf /var/lib/apt/lists/* \
- && gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
- && curl -sSL https://get.rvm.io | bash -s stable --ruby --without-gems="rvm rubygems-bundler" \
- && echo -e "source /usr/local/rvm/scripts/rvm\n$(cat /etc/bash.bashrc)" >/etc/bash.bashrc \
- && source /usr/local/rvm/scripts/rvm \
- && gem install bundler -v '~> 1.0' --force --no-document --default
+ && gpg2 --keyserver keyserver.ubuntu.com --recv-keys \
+ 409B6B1796C275462A1703113804BB82D39DC0E3 \
+ 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
+ && curl -sSL https://get.rvm.io | bash -s stable --without-gems="rvm rubygems-bundler" \
+ && echo 'source /usr/local/rvm/scripts/rvm' >> /etc/bash.bashrc
+
ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
+
+RUN bash -c "source /usr/local/rvm/scripts/rvm && \
+ rvm install 3.1.2 && \
+ rvm install 3.4.3 && \
+ rvm alias create default 3.4.3 && \
+ rvm use 3.1.2 && \
+ gem install bundler -v '~>2.0' --no-document && \
+ rvm use 3.4.3 && \
+ gem install bundler -v '~>2.0' --no-document"
####
diff --git a/33-jdk17/Dockerfile b/33-jdk17/Dockerfile
index b68d639..02defbd 100644
--- a/33-jdk17/Dockerfile
+++ b/33-jdk17/Dockerfile
@@ -1,17 +1,18 @@
-FROM ubuntu:focal
+FROM ubuntu:jammy
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 \
+ expect \
+ apt-utils \
+ locales \
+ nano \
+ openjdk-17-jdk \
+ unzip \
+ curl \
+ xz-utils \
+ git \
&& rm -rf /var/lib/apt/lists/*
# Seems somethings build better with utf8 locale specified
@@ -26,21 +27,21 @@ 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 \
+ ca-certificates \
+ 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_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 \
+ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg \
+ && echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
- nodejs \
+ nodejs \
&& rm -rf /var/lib/apt/lists/*
# hadolint ignore=DL3016
-RUN npm -g install xcode-build-tools yarn
+RUN npm install -g xcode-build-tools yarn
####
# Install the SDK
@@ -48,12 +49,12 @@ RUN npm -g install xcode-build-tools yarn
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 \
+ 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
@@ -72,8 +73,15 @@ 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"
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_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 --update && \
+ sdkmanager --verbose \
+ "platform-tools" \
+ "platforms;android-${ANDROID_PLATFORM_VERSION}" \
+ "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
+ ${ANDROID_EXTRA_PACKAGES:+${ANDROID_EXTRA_PACKAGES}} \
+ ${ANDROID_REPOSITORIES:+${ANDROID_REPOSITORIES}} \
+ ${ANDROID_CONSTRAINT_PACKAGES:+${ANDROID_CONSTRAINT_PACKAGES}}
@@ -81,12 +89,22 @@ RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_V
####
# hadolint ignore=DL3008,SC1091
RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 build-essential \
&& rm -rf /var/lib/apt/lists/* \
- && gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
- && curl -sSL https://get.rvm.io | bash -s stable --ruby --without-gems="rvm rubygems-bundler" \
- && echo -e "source /usr/local/rvm/scripts/rvm\n$(cat /etc/bash.bashrc)" >/etc/bash.bashrc \
- && source /usr/local/rvm/scripts/rvm \
- && gem install bundler -v '~> 1.0' --force --no-document --default
+ && gpg2 --keyserver keyserver.ubuntu.com --recv-keys \
+ 409B6B1796C275462A1703113804BB82D39DC0E3 \
+ 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
+ && curl -sSL https://get.rvm.io | bash -s stable --without-gems="rvm rubygems-bundler" \
+ && echo 'source /usr/local/rvm/scripts/rvm' >> /etc/bash.bashrc
+
ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
+
+RUN bash -c "source /usr/local/rvm/scripts/rvm && \
+ rvm install 3.1.2 && \
+ rvm install 3.4.3 && \
+ rvm alias create default 3.4.3 && \
+ rvm use 3.1.2 && \
+ gem install bundler -v '~>2.0' --no-document && \
+ rvm use 3.4.3 && \
+ gem install bundler -v '~>2.0' --no-document"
####
diff --git a/33-ndk/Dockerfile b/33-ndk/Dockerfile
index c2480f1..dc13394 100644
--- a/33-ndk/Dockerfile
+++ b/33-ndk/Dockerfile
@@ -1,17 +1,18 @@
-FROM ubuntu:focal
+FROM ubuntu:jammy
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 \
+ expect \
+ apt-utils \
+ locales \
+ nano \
+ openjdk-11-jdk \
+ unzip \
+ curl \
+ xz-utils \
+ git \
&& rm -rf /var/lib/apt/lists/*
# Seems somethings build better with utf8 locale specified
@@ -26,21 +27,21 @@ 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 \
+ ca-certificates \
+ 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_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 \
+ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg \
+ && echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
- nodejs \
+ nodejs \
&& rm -rf /var/lib/apt/lists/*
# hadolint ignore=DL3016
-RUN npm -g install xcode-build-tools yarn
+RUN npm install -g xcode-build-tools yarn
####
# Install the SDK
@@ -48,12 +49,12 @@ RUN npm -g install xcode-build-tools yarn
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 \
+ 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
@@ -72,8 +73,15 @@ 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"
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_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 --update && \
+ sdkmanager --verbose \
+ "platform-tools" \
+ "platforms;android-${ANDROID_PLATFORM_VERSION}" \
+ "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
+ ${ANDROID_EXTRA_PACKAGES:+${ANDROID_EXTRA_PACKAGES}} \
+ ${ANDROID_REPOSITORIES:+${ANDROID_REPOSITORIES}} \
+ ${ANDROID_CONSTRAINT_PACKAGES:+${ANDROID_CONSTRAINT_PACKAGES}}
@@ -87,12 +95,22 @@ RUN sdkmanager --verbose $ANDROID_NDK_PACKAGES
####
# hadolint ignore=DL3008,SC1091
RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 build-essential \
&& rm -rf /var/lib/apt/lists/* \
- && gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
- && curl -sSL https://get.rvm.io | bash -s stable --ruby --without-gems="rvm rubygems-bundler" \
- && echo -e "source /usr/local/rvm/scripts/rvm\n$(cat /etc/bash.bashrc)" >/etc/bash.bashrc \
- && source /usr/local/rvm/scripts/rvm \
- && gem install bundler -v '~> 1.0' --force --no-document --default
+ && gpg2 --keyserver keyserver.ubuntu.com --recv-keys \
+ 409B6B1796C275462A1703113804BB82D39DC0E3 \
+ 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
+ && curl -sSL https://get.rvm.io | bash -s stable --without-gems="rvm rubygems-bundler" \
+ && echo 'source /usr/local/rvm/scripts/rvm' >> /etc/bash.bashrc
+
ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
+
+RUN bash -c "source /usr/local/rvm/scripts/rvm && \
+ rvm install 3.1.2 && \
+ rvm install 3.4.3 && \
+ rvm alias create default 3.4.3 && \
+ rvm use 3.1.2 && \
+ gem install bundler -v '~>2.0' --no-document && \
+ rvm use 3.4.3 && \
+ gem install bundler -v '~>2.0' --no-document"
####
diff --git a/33-stf-client/Dockerfile b/33-stf-client/Dockerfile
index 72f756d..4daabdd 100644
--- a/33-stf-client/Dockerfile
+++ b/33-stf-client/Dockerfile
@@ -1,17 +1,18 @@
-FROM ubuntu:focal
+FROM ubuntu:jammy
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 \
+ expect \
+ apt-utils \
+ locales \
+ nano \
+ openjdk-11-jdk \
+ unzip \
+ curl \
+ xz-utils \
+ git \
&& rm -rf /var/lib/apt/lists/*
# Seems somethings build better with utf8 locale specified
@@ -26,21 +27,21 @@ 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 \
+ ca-certificates \
+ 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_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 \
+ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg \
+ && echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
- nodejs \
+ nodejs \
&& rm -rf /var/lib/apt/lists/*
# hadolint ignore=DL3016
-RUN npm -g install xcode-build-tools yarn
+RUN npm install -g xcode-build-tools yarn
####
# Install the SDK
@@ -48,12 +49,12 @@ RUN npm -g install xcode-build-tools yarn
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 \
+ 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
@@ -72,26 +73,27 @@ 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"
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_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 --update && \
+ sdkmanager --verbose \
+ "platform-tools" \
+ "platforms;android-${ANDROID_PLATFORM_VERSION}" \
+ "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
+ ${ANDROID_EXTRA_PACKAGES:+${ANDROID_EXTRA_PACKAGES}} \
+ ${ANDROID_REPOSITORIES:+${ANDROID_REPOSITORIES}} \
+ ${ANDROID_CONSTRAINT_PACKAGES:+${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 \
+ ruby-full \
+ #stf-client
+ build-essential \
+ rubygems \
# 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/* \
-
+ && rm -rf /var/lib/apt/lists/*
RUN adb keygen ~/.android/adbkey
####
@@ -100,12 +102,22 @@ RUN adb keygen ~/.android/adbkey
####
# hadolint ignore=DL3008,SC1091
RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 build-essential \
&& rm -rf /var/lib/apt/lists/* \
- && gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
- && curl -sSL https://get.rvm.io | bash -s stable --ruby --without-gems="rvm rubygems-bundler" \
- && echo -e "source /usr/local/rvm/scripts/rvm\n$(cat /etc/bash.bashrc)" >/etc/bash.bashrc \
- && source /usr/local/rvm/scripts/rvm \
- && gem install bundler -v '~> 1.0' --force --no-document --default
+ && gpg2 --keyserver keyserver.ubuntu.com --recv-keys \
+ 409B6B1796C275462A1703113804BB82D39DC0E3 \
+ 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
+ && curl -sSL https://get.rvm.io | bash -s stable --without-gems="rvm rubygems-bundler" \
+ && echo 'source /usr/local/rvm/scripts/rvm' >> /etc/bash.bashrc
+
ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
+
+RUN bash -c "source /usr/local/rvm/scripts/rvm && \
+ rvm install 3.1.2 && \
+ rvm install 3.4.3 && \
+ rvm alias create default 3.4.3 && \
+ rvm use 3.1.2 && \
+ gem install bundler -v '~>2.0' --no-document && \
+ rvm use 3.4.3 && \
+ gem install bundler -v '~>2.0' --no-document"
####
diff --git a/33/Dockerfile b/33/Dockerfile
index 522c297..a647262 100644
--- a/33/Dockerfile
+++ b/33/Dockerfile
@@ -1,17 +1,18 @@
-FROM ubuntu:focal
+FROM ubuntu:jammy
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 \
+ expect \
+ apt-utils \
+ locales \
+ nano \
+ openjdk-11-jdk \
+ unzip \
+ curl \
+ xz-utils \
+ git \
&& rm -rf /var/lib/apt/lists/*
# Seems somethings build better with utf8 locale specified
@@ -26,21 +27,21 @@ 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 \
+ ca-certificates \
+ 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_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 \
+ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg \
+ && echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
- nodejs \
+ nodejs \
&& rm -rf /var/lib/apt/lists/*
# hadolint ignore=DL3016
-RUN npm -g install xcode-build-tools yarn
+RUN npm install -g xcode-build-tools yarn
####
# Install the SDK
@@ -48,12 +49,12 @@ RUN npm -g install xcode-build-tools yarn
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 \
+ 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
@@ -72,8 +73,15 @@ 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"
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_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 --update && \
+ sdkmanager --verbose \
+ "platform-tools" \
+ "platforms;android-${ANDROID_PLATFORM_VERSION}" \
+ "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
+ ${ANDROID_EXTRA_PACKAGES:+${ANDROID_EXTRA_PACKAGES}} \
+ ${ANDROID_REPOSITORIES:+${ANDROID_REPOSITORIES}} \
+ ${ANDROID_CONSTRAINT_PACKAGES:+${ANDROID_CONSTRAINT_PACKAGES}}
@@ -81,12 +89,22 @@ RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_V
####
# hadolint ignore=DL3008,SC1091
RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 build-essential \
&& rm -rf /var/lib/apt/lists/* \
- && gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
- && curl -sSL https://get.rvm.io | bash -s stable --ruby --without-gems="rvm rubygems-bundler" \
- && echo -e "source /usr/local/rvm/scripts/rvm\n$(cat /etc/bash.bashrc)" >/etc/bash.bashrc \
- && source /usr/local/rvm/scripts/rvm \
- && gem install bundler -v '~> 1.0' --force --no-document --default
+ && gpg2 --keyserver keyserver.ubuntu.com --recv-keys \
+ 409B6B1796C275462A1703113804BB82D39DC0E3 \
+ 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
+ && curl -sSL https://get.rvm.io | bash -s stable --without-gems="rvm rubygems-bundler" \
+ && echo 'source /usr/local/rvm/scripts/rvm' >> /etc/bash.bashrc
+
ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
+
+RUN bash -c "source /usr/local/rvm/scripts/rvm && \
+ rvm install 3.1.2 && \
+ rvm install 3.4.3 && \
+ rvm alias create default 3.4.3 && \
+ rvm use 3.1.2 && \
+ gem install bundler -v '~>2.0' --no-document && \
+ rvm use 3.4.3 && \
+ gem install bundler -v '~>2.0' --no-document"
####
diff --git a/34-emulator/Dockerfile b/34-emulator/Dockerfile
index 0acf75d..3db036b 100644
--- a/34-emulator/Dockerfile
+++ b/34-emulator/Dockerfile
@@ -1,17 +1,18 @@
-FROM ubuntu:focal
+FROM ubuntu:jammy
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 \
+ expect \
+ apt-utils \
+ locales \
+ nano \
+ openjdk-17-jdk \
+ unzip \
+ curl \
+ xz-utils \
+ git \
&& rm -rf /var/lib/apt/lists/*
# Seems somethings build better with utf8 locale specified
@@ -26,21 +27,21 @@ 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 \
+ ca-certificates \
+ 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 \
+ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg \
+ && echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
- nodejs \
+ nodejs \
&& rm -rf /var/lib/apt/lists/*
# hadolint ignore=DL3016
-RUN npm -g install xcode-build-tools yarn
+RUN npm install -g xcode-build-tools yarn
####
# Install the SDK
@@ -48,12 +49,12 @@ RUN npm -g install xcode-build-tools yarn
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 \
+ 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
@@ -72,24 +73,31 @@ 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
+#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 --update && \
+ sdkmanager --verbose \
+ "platform-tools" \
+ "platforms;android-${ANDROID_PLATFORM_VERSION}" \
+ "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
+ ${ANDROID_EXTRA_PACKAGES:+${ANDROID_EXTRA_PACKAGES}} \
+ ${ANDROID_REPOSITORIES:+${ANDROID_REPOSITORIES}} \
+ ${ANDROID_CONSTRAINT_PACKAGES:+${ANDROID_CONSTRAINT_PACKAGES}}
####
# hadolint ignore=DL3008
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
- file \
- qt5-default \
- libpulse0 \
+ file \
+ qtbase5-dev \
+ 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
+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
@@ -102,12 +110,22 @@ RUN adb keygen ~/.android/adbkey
####
# hadolint ignore=DL3008,SC1091
RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 build-essential \
&& rm -rf /var/lib/apt/lists/* \
- && gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
- && curl -sSL https://get.rvm.io | bash -s stable --ruby --without-gems="rvm rubygems-bundler" \
- && echo -e "source /usr/local/rvm/scripts/rvm\n$(cat /etc/bash.bashrc)" >/etc/bash.bashrc \
- && source /usr/local/rvm/scripts/rvm \
- && gem install bundler -v '~> 1.0' --force --no-document --default
+ && gpg2 --keyserver keyserver.ubuntu.com --recv-keys \
+ 409B6B1796C275462A1703113804BB82D39DC0E3 \
+ 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
+ && curl -sSL https://get.rvm.io | bash -s stable --without-gems="rvm rubygems-bundler" \
+ && echo 'source /usr/local/rvm/scripts/rvm' >> /etc/bash.bashrc
+
ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
+
+RUN bash -c "source /usr/local/rvm/scripts/rvm && \
+ rvm install 3.1.2 && \
+ rvm install 3.4.3 && \
+ rvm alias create default 3.4.3 && \
+ rvm use 3.1.2 && \
+ gem install bundler -v '~>2.0' --no-document && \
+ rvm use 3.4.3 && \
+ gem install bundler -v '~>2.0' --no-document"
####
diff --git a/34-jdk11/Dockerfile b/34-jdk11/Dockerfile
index d664859..3e75eaa 100644
--- a/34-jdk11/Dockerfile
+++ b/34-jdk11/Dockerfile
@@ -1,17 +1,18 @@
-FROM ubuntu:focal
+FROM ubuntu:jammy
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 \
+ expect \
+ apt-utils \
+ locales \
+ nano \
+ openjdk-11-jdk \
+ unzip \
+ curl \
+ xz-utils \
+ git \
&& rm -rf /var/lib/apt/lists/*
# Seems somethings build better with utf8 locale specified
@@ -26,21 +27,21 @@ 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 \
+ ca-certificates \
+ 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 \
+ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg \
+ && echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
- nodejs \
+ nodejs \
&& rm -rf /var/lib/apt/lists/*
# hadolint ignore=DL3016
-RUN npm -g install xcode-build-tools yarn
+RUN npm install -g xcode-build-tools yarn
####
# Install the SDK
@@ -48,12 +49,12 @@ RUN npm -g install xcode-build-tools yarn
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 \
+ 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
@@ -72,8 +73,15 @@ 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
+#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 --update && \
+ sdkmanager --verbose \
+ "platform-tools" \
+ "platforms;android-${ANDROID_PLATFORM_VERSION}" \
+ "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
+ ${ANDROID_EXTRA_PACKAGES:+${ANDROID_EXTRA_PACKAGES}} \
+ ${ANDROID_REPOSITORIES:+${ANDROID_REPOSITORIES}} \
+ ${ANDROID_CONSTRAINT_PACKAGES:+${ANDROID_CONSTRAINT_PACKAGES}}
@@ -81,12 +89,22 @@ RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_V
####
# hadolint ignore=DL3008,SC1091
RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 build-essential \
&& rm -rf /var/lib/apt/lists/* \
- && gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
- && curl -sSL https://get.rvm.io | bash -s stable --ruby --without-gems="rvm rubygems-bundler" \
- && echo -e "source /usr/local/rvm/scripts/rvm\n$(cat /etc/bash.bashrc)" >/etc/bash.bashrc \
- && source /usr/local/rvm/scripts/rvm \
- && gem install bundler -v '~> 1.0' --force --no-document --default
+ && gpg2 --keyserver keyserver.ubuntu.com --recv-keys \
+ 409B6B1796C275462A1703113804BB82D39DC0E3 \
+ 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
+ && curl -sSL https://get.rvm.io | bash -s stable --without-gems="rvm rubygems-bundler" \
+ && echo 'source /usr/local/rvm/scripts/rvm' >> /etc/bash.bashrc
+
ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
+
+RUN bash -c "source /usr/local/rvm/scripts/rvm && \
+ rvm install 3.1.2 && \
+ rvm install 3.4.3 && \
+ rvm alias create default 3.4.3 && \
+ rvm use 3.1.2 && \
+ gem install bundler -v '~>2.0' --no-document && \
+ rvm use 3.4.3 && \
+ gem install bundler -v '~>2.0' --no-document"
####
diff --git a/34-ndk/Dockerfile b/34-ndk/Dockerfile
index 2100ed3..b56170e 100644
--- a/34-ndk/Dockerfile
+++ b/34-ndk/Dockerfile
@@ -1,17 +1,18 @@
-FROM ubuntu:focal
+FROM ubuntu:jammy
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 \
+ expect \
+ apt-utils \
+ locales \
+ nano \
+ openjdk-17-jdk \
+ unzip \
+ curl \
+ xz-utils \
+ git \
&& rm -rf /var/lib/apt/lists/*
# Seems somethings build better with utf8 locale specified
@@ -26,21 +27,21 @@ 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 \
+ ca-certificates \
+ 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 \
+ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg \
+ && echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
- nodejs \
+ nodejs \
&& rm -rf /var/lib/apt/lists/*
# hadolint ignore=DL3016
-RUN npm -g install xcode-build-tools yarn
+RUN npm install -g xcode-build-tools yarn
####
# Install the SDK
@@ -48,12 +49,12 @@ RUN npm -g install xcode-build-tools yarn
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 \
+ 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
@@ -72,8 +73,15 @@ 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
+#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 --update && \
+ sdkmanager --verbose \
+ "platform-tools" \
+ "platforms;android-${ANDROID_PLATFORM_VERSION}" \
+ "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
+ ${ANDROID_EXTRA_PACKAGES:+${ANDROID_EXTRA_PACKAGES}} \
+ ${ANDROID_REPOSITORIES:+${ANDROID_REPOSITORIES}} \
+ ${ANDROID_CONSTRAINT_PACKAGES:+${ANDROID_CONSTRAINT_PACKAGES}}
@@ -87,12 +95,22 @@ RUN sdkmanager --verbose $ANDROID_NDK_PACKAGES
####
# hadolint ignore=DL3008,SC1091
RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 build-essential \
&& rm -rf /var/lib/apt/lists/* \
- && gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
- && curl -sSL https://get.rvm.io | bash -s stable --ruby --without-gems="rvm rubygems-bundler" \
- && echo -e "source /usr/local/rvm/scripts/rvm\n$(cat /etc/bash.bashrc)" >/etc/bash.bashrc \
- && source /usr/local/rvm/scripts/rvm \
- && gem install bundler -v '~> 1.0' --force --no-document --default
+ && gpg2 --keyserver keyserver.ubuntu.com --recv-keys \
+ 409B6B1796C275462A1703113804BB82D39DC0E3 \
+ 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
+ && curl -sSL https://get.rvm.io | bash -s stable --without-gems="rvm rubygems-bundler" \
+ && echo 'source /usr/local/rvm/scripts/rvm' >> /etc/bash.bashrc
+
ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
+
+RUN bash -c "source /usr/local/rvm/scripts/rvm && \
+ rvm install 3.1.2 && \
+ rvm install 3.4.3 && \
+ rvm alias create default 3.4.3 && \
+ rvm use 3.1.2 && \
+ gem install bundler -v '~>2.0' --no-document && \
+ rvm use 3.4.3 && \
+ gem install bundler -v '~>2.0' --no-document"
####
diff --git a/34-stf-client/Dockerfile b/34-stf-client/Dockerfile
index 3bfca7e..9cb8888 100644
--- a/34-stf-client/Dockerfile
+++ b/34-stf-client/Dockerfile
@@ -1,17 +1,18 @@
-FROM ubuntu:focal
+FROM ubuntu:jammy
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 \
+ expect \
+ apt-utils \
+ locales \
+ nano \
+ openjdk-17-jdk \
+ unzip \
+ curl \
+ xz-utils \
+ git \
&& rm -rf /var/lib/apt/lists/*
# Seems somethings build better with utf8 locale specified
@@ -26,21 +27,21 @@ 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 \
+ ca-certificates \
+ 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 \
+ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg \
+ && echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
- nodejs \
+ nodejs \
&& rm -rf /var/lib/apt/lists/*
# hadolint ignore=DL3016
-RUN npm -g install xcode-build-tools yarn
+RUN npm install -g xcode-build-tools yarn
####
# Install the SDK
@@ -48,12 +49,12 @@ RUN npm -g install xcode-build-tools yarn
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 \
+ 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
@@ -72,26 +73,27 @@ 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
+#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 --update && \
+ sdkmanager --verbose \
+ "platform-tools" \
+ "platforms;android-${ANDROID_PLATFORM_VERSION}" \
+ "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
+ ${ANDROID_EXTRA_PACKAGES:+${ANDROID_EXTRA_PACKAGES}} \
+ ${ANDROID_REPOSITORIES:+${ANDROID_REPOSITORIES}} \
+ ${ANDROID_CONSTRAINT_PACKAGES:+${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 \
+ ruby-full \
+ #stf-client
+ build-essential \
+ rubygems \
# 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/* \
-
+ && rm -rf /var/lib/apt/lists/*
RUN adb keygen ~/.android/adbkey
####
@@ -100,12 +102,22 @@ RUN adb keygen ~/.android/adbkey
####
# hadolint ignore=DL3008,SC1091
RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 build-essential \
&& rm -rf /var/lib/apt/lists/* \
- && gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
- && curl -sSL https://get.rvm.io | bash -s stable --ruby --without-gems="rvm rubygems-bundler" \
- && echo -e "source /usr/local/rvm/scripts/rvm\n$(cat /etc/bash.bashrc)" >/etc/bash.bashrc \
- && source /usr/local/rvm/scripts/rvm \
- && gem install bundler -v '~> 1.0' --force --no-document --default
+ && gpg2 --keyserver keyserver.ubuntu.com --recv-keys \
+ 409B6B1796C275462A1703113804BB82D39DC0E3 \
+ 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
+ && curl -sSL https://get.rvm.io | bash -s stable --without-gems="rvm rubygems-bundler" \
+ && echo 'source /usr/local/rvm/scripts/rvm' >> /etc/bash.bashrc
+
ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
+
+RUN bash -c "source /usr/local/rvm/scripts/rvm && \
+ rvm install 3.1.2 && \
+ rvm install 3.4.3 && \
+ rvm alias create default 3.4.3 && \
+ rvm use 3.1.2 && \
+ gem install bundler -v '~>2.0' --no-document && \
+ rvm use 3.4.3 && \
+ gem install bundler -v '~>2.0' --no-document"
####
diff --git a/34/Dockerfile b/34/Dockerfile
index 41f67e4..aad8185 100644
--- a/34/Dockerfile
+++ b/34/Dockerfile
@@ -1,17 +1,18 @@
-FROM ubuntu:focal
+FROM ubuntu:jammy
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 \
+ expect \
+ apt-utils \
+ locales \
+ nano \
+ openjdk-17-jdk \
+ unzip \
+ curl \
+ xz-utils \
+ git \
&& rm -rf /var/lib/apt/lists/*
# Seems somethings build better with utf8 locale specified
@@ -26,21 +27,21 @@ 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 \
+ ca-certificates \
+ 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 \
+ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg \
+ && echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
- nodejs \
+ nodejs \
&& rm -rf /var/lib/apt/lists/*
# hadolint ignore=DL3016
-RUN npm -g install xcode-build-tools yarn
+RUN npm install -g xcode-build-tools yarn
####
# Install the SDK
@@ -48,12 +49,12 @@ RUN npm -g install xcode-build-tools yarn
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 \
+ 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
@@ -72,8 +73,15 @@ 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
+#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 --update && \
+ sdkmanager --verbose \
+ "platform-tools" \
+ "platforms;android-${ANDROID_PLATFORM_VERSION}" \
+ "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
+ ${ANDROID_EXTRA_PACKAGES:+${ANDROID_EXTRA_PACKAGES}} \
+ ${ANDROID_REPOSITORIES:+${ANDROID_REPOSITORIES}} \
+ ${ANDROID_CONSTRAINT_PACKAGES:+${ANDROID_CONSTRAINT_PACKAGES}}
@@ -81,12 +89,22 @@ RUN sdkmanager --verbose "platform-tools" "platforms;android-$ANDROID_PLATFORM_V
####
# hadolint ignore=DL3008,SC1091
RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 build-essential \
&& rm -rf /var/lib/apt/lists/* \
- && gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
- && curl -sSL https://get.rvm.io | bash -s stable --ruby --without-gems="rvm rubygems-bundler" \
- && echo -e "source /usr/local/rvm/scripts/rvm\n$(cat /etc/bash.bashrc)" >/etc/bash.bashrc \
- && source /usr/local/rvm/scripts/rvm \
- && gem install bundler -v '~> 1.0' --force --no-document --default
+ && gpg2 --keyserver keyserver.ubuntu.com --recv-keys \
+ 409B6B1796C275462A1703113804BB82D39DC0E3 \
+ 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
+ && curl -sSL https://get.rvm.io | bash -s stable --without-gems="rvm rubygems-bundler" \
+ && echo 'source /usr/local/rvm/scripts/rvm' >> /etc/bash.bashrc
+
ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
+
+RUN bash -c "source /usr/local/rvm/scripts/rvm && \
+ rvm install 3.1.2 && \
+ rvm install 3.4.3 && \
+ rvm alias create default 3.4.3 && \
+ rvm use 3.1.2 && \
+ gem install bundler -v '~>2.0' --no-document && \
+ rvm use 3.4.3 && \
+ gem install bundler -v '~>2.0' --no-document"
####
diff --git a/32-emulator/Dockerfile b/35-emulator/Dockerfile
similarity index 54%
rename from 32-emulator/Dockerfile
rename to 35-emulator/Dockerfile
index f3b97d5..01b7fc6 100644
--- a/32-emulator/Dockerfile
+++ b/35-emulator/Dockerfile
@@ -1,17 +1,18 @@
-FROM ubuntu:focal
+FROM ubuntu:jammy
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 \
+ expect \
+ apt-utils \
+ locales \
+ nano \
+ openjdk-17-jdk \
+ unzip \
+ curl \
+ xz-utils \
+ git \
&& rm -rf /var/lib/apt/lists/*
# Seems somethings build better with utf8 locale specified
@@ -26,21 +27,21 @@ 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 \
+ ca-certificates \
+ 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_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 \
+ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg \
+ && echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
- nodejs \
+ nodejs \
&& rm -rf /var/lib/apt/lists/*
# hadolint ignore=DL3016
-RUN npm -g install xcode-build-tools yarn
+RUN npm install -g xcode-build-tools yarn
####
# Install the SDK
@@ -48,12 +49,12 @@ RUN npm -g install xcode-build-tools yarn
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 \
+ 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
@@ -67,29 +68,36 @@ ENV PATH=/opt/tools:$PATH
RUN license_accepter
# Install Android platform and things
-ENV ANDROID_PLATFORM_VERSION=32
-ENV ANDROID_BUILD_TOOLS_VERSION=32.0.0
+ENV ANDROID_PLATFORM_VERSION=35
+ENV ANDROID_BUILD_TOOLS_VERSION=35.0.1
ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH
-ENV ANDROID_EXTRA_PACKAGES="build-tools;32.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
+#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 --update && \
+ sdkmanager --verbose \
+ "platform-tools" \
+ "platforms;android-${ANDROID_PLATFORM_VERSION}" \
+ "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
+ ${ANDROID_EXTRA_PACKAGES:+${ANDROID_EXTRA_PACKAGES}} \
+ ${ANDROID_REPOSITORIES:+${ANDROID_REPOSITORIES}} \
+ ${ANDROID_CONSTRAINT_PACKAGES:+${ANDROID_CONSTRAINT_PACKAGES}}
####
# hadolint ignore=DL3008
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
- file \
- qt5-default \
- libpulse0 \
+ file \
+ qtbase5-dev \
+ 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
+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
@@ -102,12 +110,22 @@ RUN adb keygen ~/.android/adbkey
####
# hadolint ignore=DL3008,SC1091
RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 build-essential \
&& rm -rf /var/lib/apt/lists/* \
- && gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
- && curl -sSL https://get.rvm.io | bash -s stable --ruby --without-gems="rvm rubygems-bundler" \
- && echo -e "source /usr/local/rvm/scripts/rvm\n$(cat /etc/bash.bashrc)" >/etc/bash.bashrc \
- && source /usr/local/rvm/scripts/rvm \
- && gem install bundler -v '~> 1.0' --force --no-document --default
+ && gpg2 --keyserver keyserver.ubuntu.com --recv-keys \
+ 409B6B1796C275462A1703113804BB82D39DC0E3 \
+ 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
+ && curl -sSL https://get.rvm.io | bash -s stable --without-gems="rvm rubygems-bundler" \
+ && echo 'source /usr/local/rvm/scripts/rvm' >> /etc/bash.bashrc
+
ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
+
+RUN bash -c "source /usr/local/rvm/scripts/rvm && \
+ rvm install 3.1.2 && \
+ rvm install 3.4.3 && \
+ rvm alias create default 3.4.3 && \
+ rvm use 3.1.2 && \
+ gem install bundler -v '~>2.0' --no-document && \
+ rvm use 3.4.3 && \
+ gem install bundler -v '~>2.0' --no-document"
####
diff --git a/32-emulator/tools-emulator/android-start-emulator b/35-emulator/tools-emulator/android-start-emulator
similarity index 100%
rename from 32-emulator/tools-emulator/android-start-emulator
rename to 35-emulator/tools-emulator/android-start-emulator
diff --git a/32-emulator/tools-emulator/android-wait-for-emulator b/35-emulator/tools-emulator/android-wait-for-emulator
similarity index 100%
rename from 32-emulator/tools-emulator/android-wait-for-emulator
rename to 35-emulator/tools-emulator/android-wait-for-emulator
diff --git a/32-emulator/tools/adb-all b/35-emulator/tools/adb-all
similarity index 100%
rename from 32-emulator/tools/adb-all
rename to 35-emulator/tools/adb-all
diff --git a/32-emulator/tools/license_accepter b/35-emulator/tools/license_accepter
similarity index 100%
rename from 32-emulator/tools/license_accepter
rename to 35-emulator/tools/license_accepter
diff --git a/35-jdk11/Dockerfile b/35-jdk11/Dockerfile
new file mode 100644
index 0000000..72fe8bb
--- /dev/null
+++ b/35-jdk11/Dockerfile
@@ -0,0 +1,110 @@
+FROM ubuntu:jammy
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+
+# hadolint ignore=DL3008
+RUN apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ expect \
+ apt-utils \
+ 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 \
+ ca-certificates \
+ 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 -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg \
+ && echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x $(lsb_release -sc) main" | tee /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 install -g 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=35
+ENV ANDROID_BUILD_TOOLS_VERSION=35.0.1
+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 --update && \
+ sdkmanager --verbose \
+ "platform-tools" \
+ "platforms;android-${ANDROID_PLATFORM_VERSION}" \
+ "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
+ ${ANDROID_EXTRA_PACKAGES:+${ANDROID_EXTRA_PACKAGES}} \
+ ${ANDROID_REPOSITORIES:+${ANDROID_REPOSITORIES}} \
+ ${ANDROID_CONSTRAINT_PACKAGES:+${ANDROID_CONSTRAINT_PACKAGES}}
+
+
+
+
+####
+# hadolint ignore=DL3008,SC1091
+RUN apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 build-essential \
+ && rm -rf /var/lib/apt/lists/* \
+ && gpg2 --keyserver keyserver.ubuntu.com --recv-keys \
+ 409B6B1796C275462A1703113804BB82D39DC0E3 \
+ 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
+ && curl -sSL https://get.rvm.io | bash -s stable --without-gems="rvm rubygems-bundler" \
+ && echo 'source /usr/local/rvm/scripts/rvm' >> /etc/bash.bashrc
+
+ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
+
+RUN bash -c "source /usr/local/rvm/scripts/rvm && \
+ rvm install 3.1.2 && \
+ rvm install 3.4.3 && \
+ rvm alias create default 3.4.3 && \
+ rvm use 3.1.2 && \
+ gem install bundler -v '~>2.0' --no-document && \
+ rvm use 3.4.3 && \
+ gem install bundler -v '~>2.0' --no-document"
+####
diff --git a/32-jdk17/tools/adb-all b/35-jdk11/tools/adb-all
similarity index 100%
rename from 32-jdk17/tools/adb-all
rename to 35-jdk11/tools/adb-all
diff --git a/32-jdk17/tools/license_accepter b/35-jdk11/tools/license_accepter
similarity index 100%
rename from 32-jdk17/tools/license_accepter
rename to 35-jdk11/tools/license_accepter
diff --git a/32-ndk/Dockerfile b/35-ndk/Dockerfile
similarity index 50%
rename from 32-ndk/Dockerfile
rename to 35-ndk/Dockerfile
index ec5e977..d15bf00 100644
--- a/32-ndk/Dockerfile
+++ b/35-ndk/Dockerfile
@@ -1,17 +1,18 @@
-FROM ubuntu:focal
+FROM ubuntu:jammy
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 \
+ expect \
+ apt-utils \
+ locales \
+ nano \
+ openjdk-17-jdk \
+ unzip \
+ curl \
+ xz-utils \
+ git \
&& rm -rf /var/lib/apt/lists/*
# Seems somethings build better with utf8 locale specified
@@ -26,21 +27,21 @@ 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 \
+ ca-certificates \
+ 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_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 \
+ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg \
+ && echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
- nodejs \
+ nodejs \
&& rm -rf /var/lib/apt/lists/*
# hadolint ignore=DL3016
-RUN npm -g install xcode-build-tools yarn
+RUN npm install -g xcode-build-tools yarn
####
# Install the SDK
@@ -48,12 +49,12 @@ RUN npm -g install xcode-build-tools yarn
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 \
+ 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
@@ -67,13 +68,20 @@ ENV PATH=/opt/tools:$PATH
RUN license_accepter
# Install Android platform and things
-ENV ANDROID_PLATFORM_VERSION=32
-ENV ANDROID_BUILD_TOOLS_VERSION=32.0.0
+ENV ANDROID_PLATFORM_VERSION=35
+ENV ANDROID_BUILD_TOOLS_VERSION=35.0.1
ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH
-ENV ANDROID_EXTRA_PACKAGES="build-tools;32.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
+#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 --update && \
+ sdkmanager --verbose \
+ "platform-tools" \
+ "platforms;android-${ANDROID_PLATFORM_VERSION}" \
+ "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
+ ${ANDROID_EXTRA_PACKAGES:+${ANDROID_EXTRA_PACKAGES}} \
+ ${ANDROID_REPOSITORIES:+${ANDROID_REPOSITORIES}} \
+ ${ANDROID_CONSTRAINT_PACKAGES:+${ANDROID_CONSTRAINT_PACKAGES}}
@@ -87,12 +95,22 @@ RUN sdkmanager --verbose $ANDROID_NDK_PACKAGES
####
# hadolint ignore=DL3008,SC1091
RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 build-essential \
&& rm -rf /var/lib/apt/lists/* \
- && gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
- && curl -sSL https://get.rvm.io | bash -s stable --ruby --without-gems="rvm rubygems-bundler" \
- && echo -e "source /usr/local/rvm/scripts/rvm\n$(cat /etc/bash.bashrc)" >/etc/bash.bashrc \
- && source /usr/local/rvm/scripts/rvm \
- && gem install bundler -v '~> 1.0' --force --no-document --default
+ && gpg2 --keyserver keyserver.ubuntu.com --recv-keys \
+ 409B6B1796C275462A1703113804BB82D39DC0E3 \
+ 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
+ && curl -sSL https://get.rvm.io | bash -s stable --without-gems="rvm rubygems-bundler" \
+ && echo 'source /usr/local/rvm/scripts/rvm' >> /etc/bash.bashrc
+
ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
+
+RUN bash -c "source /usr/local/rvm/scripts/rvm && \
+ rvm install 3.1.2 && \
+ rvm install 3.4.3 && \
+ rvm alias create default 3.4.3 && \
+ rvm use 3.1.2 && \
+ gem install bundler -v '~>2.0' --no-document && \
+ rvm use 3.4.3 && \
+ gem install bundler -v '~>2.0' --no-document"
####
diff --git a/32-ndk/tools/adb-all b/35-ndk/tools/adb-all
similarity index 100%
rename from 32-ndk/tools/adb-all
rename to 35-ndk/tools/adb-all
diff --git a/32-ndk/tools/license_accepter b/35-ndk/tools/license_accepter
similarity index 100%
rename from 32-ndk/tools/license_accepter
rename to 35-ndk/tools/license_accepter
diff --git a/35-stf-client/Dockerfile b/35-stf-client/Dockerfile
new file mode 100644
index 0000000..943b532
--- /dev/null
+++ b/35-stf-client/Dockerfile
@@ -0,0 +1,123 @@
+FROM ubuntu:jammy
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+
+# hadolint ignore=DL3008
+RUN apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ expect \
+ apt-utils \
+ 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 \
+ ca-certificates \
+ 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 -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg \
+ && echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x $(lsb_release -sc) main" | tee /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 install -g 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=35
+ENV ANDROID_BUILD_TOOLS_VERSION=35.0.1
+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 --update && \
+ sdkmanager --verbose \
+ "platform-tools" \
+ "platforms;android-${ANDROID_PLATFORM_VERSION}" \
+ "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
+ ${ANDROID_EXTRA_PACKAGES:+${ANDROID_EXTRA_PACKAGES}} \
+ ${ANDROID_REPOSITORIES:+${ANDROID_REPOSITORIES}} \
+ ${ANDROID_CONSTRAINT_PACKAGES:+${ANDROID_CONSTRAINT_PACKAGES}}
+
+####
+# hadolint ignore=DL3008,DL3028,SC2086
+RUN apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ ruby-full \
+ #stf-client
+ build-essential \
+ rubygems \
+ # Without rake fails to install stf-client
+ && gem install rake stf-client --no-doc \
+ && rm -rf /var/lib/apt/lists/*
+RUN adb keygen ~/.android/adbkey
+####
+
+
+
+####
+# hadolint ignore=DL3008,SC1091
+RUN apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 build-essential \
+ && rm -rf /var/lib/apt/lists/* \
+ && gpg2 --keyserver keyserver.ubuntu.com --recv-keys \
+ 409B6B1796C275462A1703113804BB82D39DC0E3 \
+ 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
+ && curl -sSL https://get.rvm.io | bash -s stable --without-gems="rvm rubygems-bundler" \
+ && echo 'source /usr/local/rvm/scripts/rvm' >> /etc/bash.bashrc
+
+ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
+
+RUN bash -c "source /usr/local/rvm/scripts/rvm && \
+ rvm install 3.1.2 && \
+ rvm install 3.4.3 && \
+ rvm alias create default 3.4.3 && \
+ rvm use 3.1.2 && \
+ gem install bundler -v '~>2.0' --no-document && \
+ rvm use 3.4.3 && \
+ gem install bundler -v '~>2.0' --no-document"
+####
diff --git a/32-stf-client/tools/adb-all b/35-stf-client/tools/adb-all
similarity index 100%
rename from 32-stf-client/tools/adb-all
rename to 35-stf-client/tools/adb-all
diff --git a/32-stf-client/tools/license_accepter b/35-stf-client/tools/license_accepter
similarity index 100%
rename from 32-stf-client/tools/license_accepter
rename to 35-stf-client/tools/license_accepter
diff --git a/35/Dockerfile b/35/Dockerfile
new file mode 100644
index 0000000..af99bf2
--- /dev/null
+++ b/35/Dockerfile
@@ -0,0 +1,110 @@
+FROM ubuntu:jammy
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+
+# hadolint ignore=DL3008
+RUN apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+ expect \
+ apt-utils \
+ 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 \
+ ca-certificates \
+ 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 -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg \
+ && echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x $(lsb_release -sc) main" | tee /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 install -g 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=35
+ENV ANDROID_BUILD_TOOLS_VERSION=35.0.1
+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 --update && \
+ sdkmanager --verbose \
+ "platform-tools" \
+ "platforms;android-${ANDROID_PLATFORM_VERSION}" \
+ "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
+ ${ANDROID_EXTRA_PACKAGES:+${ANDROID_EXTRA_PACKAGES}} \
+ ${ANDROID_REPOSITORIES:+${ANDROID_REPOSITORIES}} \
+ ${ANDROID_CONSTRAINT_PACKAGES:+${ANDROID_CONSTRAINT_PACKAGES}}
+
+
+
+
+####
+# hadolint ignore=DL3008,SC1091
+RUN apt-get update \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 build-essential \
+ && rm -rf /var/lib/apt/lists/* \
+ && gpg2 --keyserver keyserver.ubuntu.com --recv-keys \
+ 409B6B1796C275462A1703113804BB82D39DC0E3 \
+ 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
+ && curl -sSL https://get.rvm.io | bash -s stable --without-gems="rvm rubygems-bundler" \
+ && echo 'source /usr/local/rvm/scripts/rvm' >> /etc/bash.bashrc
+
+ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
+
+RUN bash -c "source /usr/local/rvm/scripts/rvm && \
+ rvm install 3.1.2 && \
+ rvm install 3.4.3 && \
+ rvm alias create default 3.4.3 && \
+ rvm use 3.1.2 && \
+ gem install bundler -v '~>2.0' --no-document && \
+ rvm use 3.4.3 && \
+ gem install bundler -v '~>2.0' --no-document"
+####
diff --git a/32/tools/adb-all b/35/tools/adb-all
similarity index 100%
rename from 32/tools/adb-all
rename to 35/tools/adb-all
diff --git a/32/tools/license_accepter b/35/tools/license_accepter
similarity index 100%
rename from 32/tools/license_accepter
rename to 35/tools/license_accepter
diff --git a/Dockerfile.template b/Dockerfile.template
index 2785323..fe7a109 100644
--- a/Dockerfile.template
+++ b/Dockerfile.template
@@ -1,17 +1,18 @@
-FROM ubuntu:focal
+FROM ubuntu:jammy
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-%%JDK_VERSION%%-jdk \
- unzip \
- curl \
- xz-utils \
- git \
+ expect \
+ apt-utils \
+ locales \
+ nano \
+ openjdk-%%JDK_VERSION%%-jdk \
+ unzip \
+ curl \
+ xz-utils \
+ git \
&& rm -rf /var/lib/apt/lists/*
# Seems somethings build better with utf8 locale specified
@@ -26,21 +27,21 @@ 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 \
+ ca-certificates \
+ 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_%%NODE_VARIANT%%.x $(lsb_release -s -c) main" | tee /etc/apt/sources.list.d/nodesource.list \
- && echo "deb-src https://deb.nodesource.com/node_%%NODE_VARIANT%%.x $(lsb_release -s -c) main" | tee -a /etc/apt/sources.list.d/nodesource.list \
+ && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg \
+ && echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_%%NODE_VARIANT%%.x $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/nodesource.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends \
- nodejs \
+ nodejs \
&& rm -rf /var/lib/apt/lists/*
# hadolint ignore=DL3016
-RUN npm -g install xcode-build-tools yarn
+RUN npm install -g xcode-build-tools yarn
####
# Install the SDK
@@ -48,12 +49,12 @@ RUN npm -g install xcode-build-tools yarn
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 \
+ 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
@@ -72,26 +73,27 @@ ENV ANDROID_BUILD_TOOLS_VERSION=%%BUILD_TOOLS%%
ENV PATH=$ANDROID_SDK_ROOT/build-tools/$ANDROID_BUILD_TOOLS_VERSION:$PATH
ENV ANDROID_EXTRA_PACKAGES=%%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
+#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 --update && \
+ sdkmanager --verbose \
+ "platform-tools" \
+ "platforms;android-${ANDROID_PLATFORM_VERSION}" \
+ "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
+ ${ANDROID_EXTRA_PACKAGES:+${ANDROID_EXTRA_PACKAGES}} \
+ ${ANDROID_REPOSITORIES:+${ANDROID_REPOSITORIES}} \
+ ${ANDROID_CONSTRAINT_PACKAGES:+${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 \
+ ruby-full \
+ #stf-client
+ build-essential \
+ rubygems \
# 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/* \
-
+ && rm -rf /var/lib/apt/lists/*
RUN adb keygen ~/.android/adbkey
####
@@ -99,16 +101,16 @@ RUN adb keygen ~/.android/adbkey
# hadolint ignore=DL3008
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
- file \
- qt5-default \
- libpulse0 \
+ file \
+ qtbase5-dev \
+ 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
+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
@@ -127,12 +129,22 @@ RUN sdkmanager --verbose $ANDROID_NDK_PACKAGES
####
# hadolint ignore=DL3008,SC1091
RUN apt-get update \
- && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 \
+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gnupg2 build-essential \
&& rm -rf /var/lib/apt/lists/* \
- && gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
- && curl -sSL https://get.rvm.io | bash -s stable --ruby --without-gems="rvm rubygems-bundler" \
- && echo -e "source /usr/local/rvm/scripts/rvm\n$(cat /etc/bash.bashrc)" >/etc/bash.bashrc \
- && source /usr/local/rvm/scripts/rvm \
- && gem install bundler -v '~> 1.0' --force --no-document --default
+ && gpg2 --keyserver keyserver.ubuntu.com --recv-keys \
+ 409B6B1796C275462A1703113804BB82D39DC0E3 \
+ 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \
+ && curl -sSL https://get.rvm.io | bash -s stable --without-gems="rvm rubygems-bundler" \
+ && echo 'source /usr/local/rvm/scripts/rvm' >> /etc/bash.bashrc
+
ENV BASH_ENV="/usr/local/rvm/scripts/rvm"
+
+RUN bash -c "source /usr/local/rvm/scripts/rvm && \
+ rvm install 3.1.2 && \
+ rvm install 3.4.3 && \
+ rvm alias create default 3.4.3 && \
+ rvm use 3.1.2 && \
+ gem install bundler -v '~>2.0' --no-document && \
+ rvm use 3.4.3 && \
+ gem install bundler -v '~>2.0' --no-document"
####
diff --git a/README.md b/README.md
index 4f3b3c7..9b4b8aa 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,11 @@ An image that lets us build android apps with docker using gitlab-ci
## Tags available
+* `35`
+* `35-emulator`
+* `35-ndk`
+* `35-stf-client`
+* `35-jdk11`
* `34`
* `34-emulator`
* `34-ndk`
@@ -14,14 +19,14 @@ An image that lets us build android apps with docker using gitlab-ci
* `33-ndk`
* `33-stf-client`
* `33-jdk17`
+
+## Unmaintained tags
+
* `32`
* `32-emulator`
* `32-ndk`
* `32-stf-client`
* `32-jdk17`
-
-## Unmaintained tags
-
* `31`
* `31-emulator`
* `31-ndk`
diff --git a/update.sh b/update.sh
index 2d37a3b..1ab7b58 100755
--- a/update.sh
+++ b/update.sh
@@ -1,33 +1,33 @@
#!/usr/bin/env bash
set -e
-variants=('32' '33' '34')
+variants=('33' '34' '35')
## Disabled creating extra node variants, rather just having a default for each SDK
-#node_variants=('14' '18')
+#node_variants=('18' '20')
declare -A default_node_variants=(
- ['32']='18'
['33']='18'
['34']='20'
+ ['35']='20'
)
jdk_variants=('11' '17')
declare -A default_jdk_variants=(
- ['32']='11'
['33']='11'
['34']='17'
+ ['35']='17'
)
declare -A build_tools=(
- ['32']='32.0.0'
['33']='33.0.2'
['34']='34.0.0'
+ ['35']='35.0.1'
)
declare -A extra_packages=(
- ['32']='"build-tools;32.0.0"'
['33']='"build-tools;33.0.0 build-tools;33.0.1"'
['34']=''
+ ['35']=''
)
for variant in "${variants[@]}"; do