| sort -u \
| xargs -r apt-mark manual \
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
- # for npm link
- && chown -R ${USER}:${USER} /usr/local/lib/node_modules \
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
# smoke tests
&& node --version \
# smoke test
&& yarn --version
-ARG SAPMACHINE_VERSION=11.0.17
+ARG SAPMACHINE_VERSION=11.0.18
ENV JAVA_HOME /opt/jdk
# smoke test
&& java -version
-ARG MAVEN_VERSION=3.8.7
+ARG MAVEN_VERSION=3.9.0
ARG BASE_URL=https://downloads.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries
ENV MAVEN_HOME /usr/share/maven
&& curl -fsSLO --compressed ${BASE_URL}/apache-maven-${MAVEN_VERSION}-bin.tar.gz.asc \
&& export GNUPGHOME="$(mktemp -d)" \
&& for key in \
- 6A814B1F869C2BBEAB7CB7271A2A1C94BDE89688 \
+ 29BEA2A645F2D6CED7FB12E02B172E3E156466E8 \
; do \
gpg --batch --keyserver hkps://pgp.surf.nl --recv-keys "$key" || \
gpg --batch --keyserver hkps://keyserver.ubuntu.com --recv-keys "$key" ; \
# smoke test
&& mvn --version
-ARG MBT_VERSION=1.2.21
+ARG MBT_VERSION=1.2.23
RUN set -ex \
&& npm install -g --registry=https://int.repositories.cloud.sap/artifactory/api/npm/build-releases-npm --unsafe-perm mbt@${MBT_VERSION} \
# smoke test
&& python3 --version
+# Allow global npm packages install without sudo
+RUN set -ex \
+ && mkdir ${USER_HOME_DIR}/.npm-global \
+ && mkdir ${USER_HOME_DIR}/.npm-global/lib \
+ && chown -R ${USER}:${USER} ${USER_HOME_DIR}
+ENV NPM_CONFIG_PREFIX ${USER_HOME_DIR}/.npm-global
+
WORKDIR /project
USER ${USER}