From 88d63138b98e14c99290046a10780333951affb8 Mon Sep 17 00:00:00 2001 From: Hugo Thunnissen Date: Wed, 10 Aug 2022 14:04:20 +0200 Subject: [PATCH] Remove java dev dependencies from image + improve nodejs support --- Dockerfile | 34 ++++++++++++++++++---------------- main.go | 2 ++ 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/Dockerfile b/Dockerfile index efe3bd4..8652910 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,7 +32,7 @@ RUN apt-get -y update && DEBIAN_FRONTEND=noninteractive apt-get -y install \ libmagickwand-dev imagemagick libacl1-dev libxml2-dev -RUN wget https://ftp.gnu.org/gnu/emacs/emacs-27.2.tar.gz \ +RUN wget https://ftp.gnu.org/gnu/emacs/emacs-28.1.tar.gz \ -O /tmp/emacs.tar.gz WORKDIR /tmp/emacs @@ -81,7 +81,9 @@ RUN apt-get update && apt-get -y install \ run mkdir -p /opt/nodejs RUN curl --location "https://nodejs.org/dist/v17.8.0/node-v17.8.0-linux-x64.tar.xz" | tar -Jxf - --strip-components=1 -C /opt/nodejs/ -RUN ln -s /opt/nodejs/bin/* /usr/local/bin/ +# Make nodejs dir world-writable. This shouldn't be a problem as the container +# will, naturally only have a single user that has acces to the volume. +RUN chmod -R 777 /opt/nodejs RUN apt-get -y update && DEBIAN_FRONTEND=noninteractive apt-get -y install \ ca-certificates curl gnupg lsb-release @@ -108,27 +110,27 @@ RUN GOPATH=/usr/local/gopkg /bin/bash -c 'for package in \ golang.org/x/tools/cmd/goimports@latest; do \ /usr/local/go/bin/go install "$package"; done' -RUN apt-get -y update && DEBIAN_FRONTEND=noninteractive apt-get -y install openjdk-17-jdk openjfx +# RUN apt-get -y update && DEBIAN_FRONTEND=noninteractive apt-get -y install openjdk-17-jdk openjfx -RUN wget https://downloads.gradle-dn.com/distributions/gradle-7.4.2-bin.zip -O /tmp/gradle.zip -RUN unzip -d /opt/ /tmp/gradle.zip -RUN rm /tmp/gradle.zip -RUN ln -sf /opt/gradle-7.4.2/bin/gradle /usr/bin/gradle +# RUN wget https://downloads.gradle-dn.com/distributions/gradle-7.4.2-bin.zip -O /tmp/gradle.zip +# RUN unzip -d /opt/ /tmp/gradle.zip +# RUN rm /tmp/gradle.zip +# RUN ln -sf /opt/gradle-7.4.2/bin/gradle /usr/bin/gradle -RUN mkdir -p /opt/maven -RUN wget https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz -O - |\ - tar -C /opt/maven --strip-components=1 -xzf - -RUN ln -s /opt/maven/bin/mvn /usr/bin/mvn +# RUN mkdir -p /opt/maven +# RUN wget https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz -O - |\ +# tar -C /opt/maven --strip-components=1 -xzf - +# RUN ln -s /opt/maven/bin/mvn /usr/bin/mvn -RUN wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.7.0.2747-linux.zip -O /tmp/sonar-scanner.zip -RUN unzip -d /opt/ /tmp/sonar-scanner.zip -RUN rm /tmp/sonar-scanner.zip -RUN ln -s /opt/sonar-scanner-4.7.0.2747-linux/bin/sonar-scanner /usr/bin/sonar-scanner +# RUN wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.7.0.2747-linux.zip -O /tmp/sonar-scanner.zip +# RUN unzip -d /opt/ /tmp/sonar-scanner.zip +# RUN rm /tmp/sonar-scanner.zip +# RUN ln -s /opt/sonar-scanner-4.7.0.2747-linux/bin/sonar-scanner /usr/bin/sonar-scanner # Protobuf RUN apt-get -y update && DEBIAN_FRONTEND=noninteractive apt-get -y install protobuf-compiler -RUN apt-get -y update && DEBIAN_FRONTEND=noninteractive apt-get -y install html2text wkhtmltopdf pandoc +RUN apt-get -y update && DEBIAN_FRONTEND=noninteractive apt-get -y install html2text wkhtmltopdf pandoc ispell idutch irussian ienglish-common ADD . /opt/workspace-repo WORKDIR /opt/workspace-repo diff --git a/main.go b/main.go index 6a131a7..3cfd60f 100644 --- a/main.go +++ b/main.go @@ -198,6 +198,7 @@ func Run(privileged bool, detach bool, mounts []string, command []string) error "--workdir=" + workDir, "--rm", "-e", "WORKSPACE_OS=" + hostOS, + "-v", "workspace-nodejs:/opt/nodejs", } if hostOS != "darwin" { @@ -290,6 +291,7 @@ func SetEnvVars() { // Node os.Setenv("PATH", home+"/.npm_packages/bin:"+os.Getenv("PATH")) + os.Setenv("PATH", "/opt/nodejs/bin:"+os.Getenv("PATH")) // Perl os.Setenv("PATH", home+"/perl5/perlbrew/bin:"+os.Getenv("PATH"))