From 1f7b8c3d2c5dc1afc59faaedee94abeefcffec3c Mon Sep 17 00:00:00 2001 From: Roel Spilker Date: Tue, 28 Nov 2017 23:37:34 +0100 Subject: add ant Dockerfile, use jdk major version numbers instead --- docker/ant/Dockerfile | 33 ++++++++++++++++++++++++ docker/ant/files/jdk-8/build.xml | 25 ++++++++++++++++++ docker/ant/files/jdk-9/build.xml | 35 +++++++++++++++++++++++++ docker/ant/readme.md | 33 ++++++++++++++++++++++++ docker/gradle/Dockerfile | 4 +-- docker/maven/Dockerfile | 10 ++++--- docker/maven/files/jdk-8/pom.xml | 44 +++++++++++++++++++++++++++++++ docker/maven/files/jdk-9/pom.xml | 53 ++++++++++++++++++++++++++++++++++++++ docker/maven/files/pom.xml | 53 -------------------------------------- docker/provision/ant/ant-1.10.1.sh | 4 +++ docker/provision/jdk/java-1.8.sh | 6 ----- docker/provision/jdk/java-1.9.sh | 4 --- docker/provision/jdk/java-8.sh | 6 +++++ docker/provision/jdk/java-9.sh | 4 +++ docker/readme.md | 6 ++--- 15 files changed, 248 insertions(+), 72 deletions(-) create mode 100644 docker/ant/Dockerfile create mode 100644 docker/ant/files/jdk-8/build.xml create mode 100644 docker/ant/files/jdk-9/build.xml create mode 100644 docker/ant/readme.md create mode 100644 docker/maven/files/jdk-8/pom.xml create mode 100644 docker/maven/files/jdk-9/pom.xml delete mode 100644 docker/maven/files/pom.xml create mode 100644 docker/provision/ant/ant-1.10.1.sh delete mode 100644 docker/provision/jdk/java-1.8.sh delete mode 100644 docker/provision/jdk/java-1.9.sh create mode 100644 docker/provision/jdk/java-8.sh create mode 100644 docker/provision/jdk/java-9.sh (limited to 'docker') diff --git a/docker/ant/Dockerfile b/docker/ant/Dockerfile new file mode 100644 index 00000000..32457709 --- /dev/null +++ b/docker/ant/Dockerfile @@ -0,0 +1,33 @@ +FROM ubuntu:16.04 as downloader + +ARG jdk=9 +ADD provision/jdk/java-${jdk}.sh provision/jdk/java-${jdk}.sh +RUN provision/jdk/java-${jdk}.sh + +ARG ant=1.10.1 +ADD provision/ant/ant-${ant}.sh provision/ant/ant-${ant}.sh +RUN provision/ant/ant-${ant}.sh + +FROM ubuntu:16.04 + +COPY --from=downloader /usr/local/apache-ant/ /usr/local/apache-ant/ +COPY --from=downloader /opt/jdk/ /opt/jdk/ + +RUN update-alternatives --install /usr/bin/java java /opt/jdk/bin/java 1000 && update-alternatives --install /usr/bin/javac javac /opt/jdk/bin/javac 1000 && update-alternatives --install /usr/bin/javadoc javadoc /opt/jdk/bin/javadoc 1000 && update-alternatives --install /usr/bin/javap javap /opt/jdk/bin/javap 1000 + +WORKDIR workspace + +ADD shared/ ./ + +ARG jdk=9 +ADD ant/files/jdk-${jdk} ./ + +ARG lombokjar=lombok.jar +ADD https://projectlombok.org/downloads/${lombokjar} lombok.jar + +ENV JDK_VERSION=${jdk} +ENV JAVA_HOME=/opt/jdk +ENV ANT_HOME=/usr/local/apache-ant/apache-ant +ENV PATH="${JAVA_HOME}/bin:${ANT_HOME}/bin:${PATH}" + +ENTRYPOINT bash diff --git a/docker/ant/files/jdk-8/build.xml b/docker/ant/files/jdk-8/build.xml new file mode 100644 index 00000000..2fc38879 --- /dev/null +++ b/docker/ant/files/jdk-8/build.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docker/ant/files/jdk-9/build.xml b/docker/ant/files/jdk-9/build.xml new file mode 100644 index 00000000..3f181ed9 --- /dev/null +++ b/docker/ant/files/jdk-9/build.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docker/ant/readme.md b/docker/ant/readme.md new file mode 100644 index 00000000..d6462523 --- /dev/null +++ b/docker/ant/readme.md @@ -0,0 +1,33 @@ +## Configuration + +[_(general configuration and options)_](../readme.md) + +### `ARG ant=1.10.1` + +The ant version to be used. Supported values: + +- `1.10.1` (default) + +## Example build commands: + +(To be executed from the `/docker` directory) + +``` +docker build -t lombok-ant-jdk9 -f gradle/Dockerfile . + +docker build -t lombok-ant-jdk9 --build-arg lombokjar=lombok-1.16.18.jar -f gradle/Dockerfile . +``` + +## Example run commands: + +``` +docker run -it lombok-ant-jdk9 + +docker run --rm -it -v //dist/lombok.jar:/workspace/lombok.jar lombok-ant-jdk9 +``` + +## Example container commands: + +``` +ant dist +``` diff --git a/docker/gradle/Dockerfile b/docker/gradle/Dockerfile index 6c5cba15..938d417e 100644 --- a/docker/gradle/Dockerfile +++ b/docker/gradle/Dockerfile @@ -1,6 +1,6 @@ FROM ubuntu:16.04 as downloader -ARG jdk=1.9 +ARG jdk=9 ADD provision/jdk/java-${jdk}.sh provision/jdk/java-${jdk}.sh RUN provision/jdk/java-${jdk}.sh @@ -22,7 +22,7 @@ ADD gradle/files/ ./ ARG lombokjar=lombok.jar ADD https://projectlombok.org/downloads/${lombokjar} lombok.jar -ARG jdk +ARG jdk=9 ENV JDK_VERSION=${jdk} ENV JAVA_HOME=/opt/jdk ENV GRADLE_HOME=/opt/gradle/gradle diff --git a/docker/maven/Dockerfile b/docker/maven/Dockerfile index ac977a7a..83f124f1 100644 --- a/docker/maven/Dockerfile +++ b/docker/maven/Dockerfile @@ -1,7 +1,7 @@ FROM ubuntu:16.04 as downloader -ARG jdk=1.9 -ADD provision/jdk/ provision/jdk/ +ARG jdk=9 +ADD provision/jdk/java-${jdk}.sh provision/jdk/java-${jdk}.sh RUN provision/jdk/java-${jdk}.sh ARG maven=3.5.0 @@ -18,11 +18,13 @@ RUN update-alternatives --install /usr/bin/java java /opt/jdk/bin/java 1000 && WORKDIR workspace ADD shared/ ./ -ADD maven/files/ ./ + +ARG jdk=9 +ADD maven/files/jdk-${jdk} ./ + ARG lombokjar=lombok.jar ADD https://projectlombok.org/downloads/${lombokjar} lombok.jar -ARG jdk ENV JDK_VERSION=${jdk} ENV JAVA_HOME=/opt/jdk ENV M2_HOME=/usr/local/apache-maven/apache-maven diff --git a/docker/maven/files/jdk-8/pom.xml b/docker/maven/files/jdk-8/pom.xml new file mode 100644 index 00000000..87c4a6a8 --- /dev/null +++ b/docker/maven/files/jdk-8/pom.xml @@ -0,0 +1,44 @@ + + 4.0.0 + + com.example + lombok-jdk-${env.JDK_VERSION} + 1.0-SNAPSHOT + + + UTF-8 + 1.8 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.7.0 + + ${java.version} + ${java.version} + true + true + true + + -Werror + -Xlint:all + + + + + + + + + org.projectlombok + lombok + 1.2.3 + system + /workspace/lombok.jar + + + + \ No newline at end of file diff --git a/docker/maven/files/jdk-9/pom.xml b/docker/maven/files/jdk-9/pom.xml new file mode 100644 index 00000000..dfbb9ad9 --- /dev/null +++ b/docker/maven/files/jdk-9/pom.xml @@ -0,0 +1,53 @@ + + 4.0.0 + + com.example + lombok-jdk-${env.JDK_VERSION} + 1.0-SNAPSHOT + + + UTF-8 + 1.9 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.7.0 + + ${java.version} + ${java.version} + true + true + true + + -Werror + -Xlint:all + -J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED + -J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED + -J--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED + -J--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED + -J--add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED + -J--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED + -J--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED + -J--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED + -J--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED + + + + + + + + + org.projectlombok + lombok + 1.2.3 + system + /workspace/lombok.jar + + + + \ No newline at end of file diff --git a/docker/maven/files/pom.xml b/docker/maven/files/pom.xml deleted file mode 100644 index 0771e3a9..00000000 --- a/docker/maven/files/pom.xml +++ /dev/null @@ -1,53 +0,0 @@ - - 4.0.0 - - com.example - lombok-jdk-${env.JDK_VERSION} - 1.0-SNAPSHOT - - - UTF-8 - ${env.JDK_VERSION} - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.7.0 - - ${java.version} - ${java.version} - true - true - true - - -Werror - -Xlint:all - -J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED - -J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED - -J--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED - -J--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED - -J--add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED - -J--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED - -J--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED - -J--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED - -J--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED - - - - - - - - - org.projectlombok - lombok - 1.2.3 - system - /workspace/lombok.jar - - - - \ No newline at end of file diff --git a/docker/provision/ant/ant-1.10.1.sh b/docker/provision/ant/ant-1.10.1.sh new file mode 100644 index 00000000..3de7f3d0 --- /dev/null +++ b/docker/provision/ant/ant-1.10.1.sh @@ -0,0 +1,4 @@ +apt-get update && apt-get install -y wget +wget https://archive.apache.org/dist/ant/binaries/apache-ant-1.10.1-bin.tar.gz -O ant.tar.gz +mkdir /usr/local/apache-ant/ && tar xvf ant.tar.gz -C /usr/local/apache-ant/ +mv /usr/local/apache-ant/apache-ant-1.10.1 /usr/local/apache-ant/apache-ant diff --git a/docker/provision/jdk/java-1.8.sh b/docker/provision/jdk/java-1.8.sh deleted file mode 100644 index 44795c6c..00000000 --- a/docker/provision/jdk/java-1.8.sh +++ /dev/null @@ -1,6 +0,0 @@ -apt-get update && apt-get install -y software-properties-common -echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections -add-apt-repository -y ppa:webupd8team/java -apt-get update && apt-get install -y oracle-java8-installer - -mv /usr/lib/jvm/java-8-oracle /opt/jdk diff --git a/docker/provision/jdk/java-1.9.sh b/docker/provision/jdk/java-1.9.sh deleted file mode 100644 index 2023ae39..00000000 --- a/docker/provision/jdk/java-1.9.sh +++ /dev/null @@ -1,4 +0,0 @@ -apt-get update && apt-get install -y wget -wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/9.0.1+11/jdk-9.0.1_linux-x64_bin.tar.gz -O jdk.tar.gz -tar -xzf jdk.tar.gz -C /opt/ -mv /opt/jdk-9.0.1 /opt/jdk diff --git a/docker/provision/jdk/java-8.sh b/docker/provision/jdk/java-8.sh new file mode 100644 index 00000000..44795c6c --- /dev/null +++ b/docker/provision/jdk/java-8.sh @@ -0,0 +1,6 @@ +apt-get update && apt-get install -y software-properties-common +echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections +add-apt-repository -y ppa:webupd8team/java +apt-get update && apt-get install -y oracle-java8-installer + +mv /usr/lib/jvm/java-8-oracle /opt/jdk diff --git a/docker/provision/jdk/java-9.sh b/docker/provision/jdk/java-9.sh new file mode 100644 index 00000000..2023ae39 --- /dev/null +++ b/docker/provision/jdk/java-9.sh @@ -0,0 +1,4 @@ +apt-get update && apt-get install -y wget +wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/9.0.1+11/jdk-9.0.1_linux-x64_bin.tar.gz -O jdk.tar.gz +tar -xzf jdk.tar.gz -C /opt/ +mv /opt/jdk-9.0.1 /opt/jdk diff --git a/docker/readme.md b/docker/readme.md index c5805162..f6b6e550 100644 --- a/docker/readme.md +++ b/docker/readme.md @@ -10,12 +10,12 @@ Each docker image contains a `/workspace` where all relevant files are located. When building the image, a lombok.jar will be downloaded to `/workspace`. By default, this is the latest released version. You can download a specific version by adding `--build-arg lombokjar=lombok-.jar` -### `ARG jdk=1.9` +### `ARG jdk=9` The jdk version to be used. Supported values: -- `1.9` (default) -- `1.8` +- `9` (default) +- `8` The version is also accessible in `JDK_VERSION`. -- cgit