diff --git a/docker/ant/Dockerfile b/docker/ant/Dockerfile index df41e8f1..bcd30cca 100644 --- a/docker/ant/Dockerfile +++ b/docker/ant/Dockerfile @@ -1,6 +1,6 @@ -FROM ubuntu:20.04 as downloader +FROM ubuntu:22.04 as downloader -ARG jdk=16 +ARG jdk=17 ADD provision/jdk/java-${jdk}.sh provision/jdk/java-${jdk}.sh RUN provision/jdk/java-${jdk}.sh @@ -11,7 +11,7 @@ ARG ant=1.10.9 ADD provision/ant/ant-${ant}.sh provision/ant/ant-${ant}.sh RUN provision/ant/ant-${ant}.sh -FROM ubuntu:20.04 +FROM ubuntu:22.04 COPY --from=downloader /usr/local/apache-ant/ /usr/local/apache-ant/ COPY --from=downloader /opt/jdk/ /opt/jdk/ @@ -22,7 +22,7 @@ WORKDIR workspace ADD shared/ ./ -ARG jdk=16 +ARG jdk=17 ADD ant/files/jdk-${jdk} ./ COPY --from=downloader /lombok.jar /workspace/classpath/lombok.jar diff --git a/docker/ant/files/jdk-17/classpath/build.xml b/docker/ant/files/jdk-17/classpath/build.xml new file mode 100644 index 00000000..01decd3f --- /dev/null +++ b/docker/ant/files/jdk-17/classpath/build.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docker/ant/files/jdk-17/modules/build.xml b/docker/ant/files/jdk-17/modules/build.xml new file mode 100644 index 00000000..3f181ed9 --- /dev/null +++ b/docker/ant/files/jdk-17/modules/build.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docker/ant/readme.md b/docker/ant/readme.md index 9f146ff0..0fe9a9a2 100644 --- a/docker/ant/readme.md +++ b/docker/ant/readme.md @@ -16,17 +16,17 @@ The ant version to be used. Supported values: (To be executed from the `/docker` directory) ``` -docker build -t lombok-ant-jdk16 -f ant/Dockerfile . +docker build -t lombok-ant-jdk17 -f ant/Dockerfile . -docker build -t lombok-ant-jdk16 --build-arg lombokjar=lombok-1.18.20.jar -f ant/Dockerfile . +docker build -t lombok-ant-jdk17 --build-arg lombokjar=lombok-1.18.20.jar -f ant/Dockerfile . ``` ## Example run commands: ``` -docker run -it lombok-ant-jdk16 +docker run -it lombok-ant-jdk17 -docker run --rm -it -v //dist/lombok.jar:/workspace/lombok.jar lombok-ant-jdk16 +docker run --rm -it -v //dist/lombok.jar:/workspace/lombok.jar lombok-ant-jdk17 ``` ## Example container commands: diff --git a/docker/bazel/Dockerfile b/docker/bazel/Dockerfile index 06149b1e..85fef39e 100644 --- a/docker/bazel/Dockerfile +++ b/docker/bazel/Dockerfile @@ -1,6 +1,6 @@ -FROM ubuntu:18.04 as downloader +FROM ubuntu:22.04 as downloader -ARG jdk=16 +ARG jdk=17 ADD provision/jdk/java-${jdk}.sh provision/jdk/java-${jdk}.sh RUN provision/jdk/java-${jdk}.sh @@ -11,7 +11,7 @@ ARG bazel=2.0.0 ADD provision/bazel/bazel-${bazel}.sh provision/bazel/bazel-${bazel}.sh RUN provision/bazel/bazel-${bazel}.sh -FROM ubuntu:18.04 +FROM ubuntu:22.04 COPY --from=downloader /opt/bazel/ /opt/bazel/ COPY --from=downloader /opt/jdk/ /opt/jdk/ @@ -27,7 +27,7 @@ ADD bazel/files/ ./ COPY --from=downloader /lombok.jar /workspace/classpath/lombok.jar COPY --from=downloader /lombok.jar /workspace/modules/lombok.jar -ARG jdk=16 +ARG jdk=17 ENV JDK_VERSION=${jdk} ENV JAVA_HOME=/opt/jdk ENV BAZEL_HOME=/opt/bazel diff --git a/docker/bazel/readme.md b/docker/bazel/readme.md index 86712231..a526f756 100644 --- a/docker/bazel/readme.md +++ b/docker/bazel/readme.md @@ -15,17 +15,17 @@ The bazel version to be used. Supported values: (To be executed from the `/docker` directory) ``` -docker build -t lombok-bazel-jdk13 -f bazel/Dockerfile . +docker build -t lombok-bazel-jdk17 -f bazel/Dockerfile . -docker build -t lombok-bazel-jdk13 --build-arg lombokjar=lombok-1.16.20.jar -f bazel/Dockerfile . +docker build -t lombok-bazel-jdk17 --build-arg lombokjar=lombok-1.16.20.jar -f bazel/Dockerfile . ``` ## Example run commands: ``` -docker run -it lombok-bazel-jdk13 +docker run -it lombok-bazel-jdk17 -docker run --rm -it -v //dist/lombok.jar:/workspace/lombok.jar lombok-bazel-jdk13 +docker run --rm -it -v //dist/lombok.jar:/workspace/lombok.jar lombok-bazel-jdk17 ``` ## Example container commands: diff --git a/docker/gradle/Dockerfile b/docker/gradle/Dockerfile index a83f9969..aee8ade7 100644 --- a/docker/gradle/Dockerfile +++ b/docker/gradle/Dockerfile @@ -1,35 +1,35 @@ -FROM ubuntu:20.04 as downloader - -ARG jdk=16 -ADD provision/jdk/java-${jdk}.sh provision/jdk/java-${jdk}.sh -RUN provision/jdk/java-${jdk}.sh - -ARG lombokjar=lombok.jar -ADD https://projectlombok.org/downloads/${lombokjar} /lombok.jar - -ARG gradle=7.6.1 -ADD provision/gradle/gradle-${gradle}.sh provision/gradle/gradle-${gradle}.sh -RUN provision/gradle/gradle-${gradle}.sh - -FROM ubuntu:20.04 - -COPY --from=downloader /opt/gradle/ /opt/gradle/ -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/ ./ -ADD gradle/files/ ./ - -COPY --from=downloader /lombok.jar /workspace/classpath/lombok.jar -COPY --from=downloader /lombok.jar /workspace/modules/lombok.jar - -ARG jdk=16 -ENV JDK_VERSION=${jdk} -ENV JAVA_HOME=/opt/jdk -ENV GRADLE_HOME=/opt/gradle/gradle -ENV PATH="${JAVA_HOME}/bin:${GRADLE_HOME}/bin:${PATH}" - -ENTRYPOINT bash +FROM ubuntu:22.04 as downloader + +ARG jdk=17 +ADD provision/jdk/java-${jdk}.sh provision/jdk/java-${jdk}.sh +RUN provision/jdk/java-${jdk}.sh + +ARG lombokjar=lombok.jar +ADD https://projectlombok.org/downloads/${lombokjar} /lombok.jar + +ARG gradle=7.6.1 +ADD provision/gradle/gradle-${gradle}.sh provision/gradle/gradle-${gradle}.sh +RUN provision/gradle/gradle-${gradle}.sh + +FROM ubuntu:22.04 + +COPY --from=downloader /opt/gradle/ /opt/gradle/ +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/ ./ +ADD gradle/files/ ./ + +COPY --from=downloader /lombok.jar /workspace/classpath/lombok.jar +COPY --from=downloader /lombok.jar /workspace/modules/lombok.jar + +ARG jdk=17 +ENV JDK_VERSION=${jdk} +ENV JAVA_HOME=/opt/jdk +ENV GRADLE_HOME=/opt/gradle/gradle +ENV PATH="${JAVA_HOME}/bin:${GRADLE_HOME}/bin:${PATH}" + +ENTRYPOINT bash diff --git a/docker/gradle/readme.md b/docker/gradle/readme.md index 3c0622a5..b71fc17a 100644 --- a/docker/gradle/readme.md +++ b/docker/gradle/readme.md @@ -21,17 +21,17 @@ The gradle version to be used. Supported values: (To be executed from the `/docker` directory) ``` -docker build -t lombok-gradle-jdk16 -f gradle/Dockerfile . +docker build -t lombok-gradle-jdk17 -f gradle/Dockerfile . -docker build -t lombok-gradle-jdk16 --build-arg lombokjar=lombok-1.18.20.jar -f gradle/Dockerfile . +docker build -t lombok-gradle-jdk17 --build-arg lombokjar=lombok-1.18.20.jar -f gradle/Dockerfile . ``` ## Example run commands: ``` -docker run -it lombok-gradle-jdk16 +docker run -it lombok-gradle-jdk17 -docker run --rm -it -v //dist/lombok.jar:/workspace/classpath/lombok.jar lombok-gradle-jdk16 +docker run --rm -it -v //dist/lombok.jar:/workspace/classpath/lombok.jar lombok-gradle-jdk17 ``` ## Example container commands: diff --git a/docker/maven/Dockerfile b/docker/maven/Dockerfile index 74efbdc1..d11dd0c7 100644 --- a/docker/maven/Dockerfile +++ b/docker/maven/Dockerfile @@ -1,37 +1,37 @@ -FROM ubuntu:20.04 as downloader - -ARG jdk=16 -ADD provision/jdk/java-${jdk}.sh provision/jdk/java-${jdk}.sh -RUN provision/jdk/java-${jdk}.sh - -ARG lombokjar=lombok.jar -ADD https://projectlombok.org/downloads/${lombokjar} /lombok.jar - -ARG maven=3.6.3 -ADD provision/maven/maven-${maven}.sh provision/maven/maven-${maven}.sh -RUN provision/maven/maven-${maven}.sh - -FROM ubuntu:20.04 - -COPY --from=downloader /usr/local/apache-maven/ /usr/local/apache-maven/ -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=16 -ADD maven/files/jdk-${jdk} ./ - -COPY --from=downloader /lombok.jar /workspace/classpath/lombok.jar -COPY --from=downloader /lombok.jar /workspace/modules/lombok.jar - -ENV JDK_VERSION=${jdk} -ENV JAVA_HOME=/opt/jdk -ENV M2_HOME=/usr/local/apache-maven/apache-maven -ENV M2=${M2_HOME}/bin -ENV PATH="${M2}:${JAVA_HOME}/bin:${PATH}" - -ENTRYPOINT bash +FROM ubuntu:22.04 as downloader + +ARG jdk=17 +ADD provision/jdk/java-${jdk}.sh provision/jdk/java-${jdk}.sh +RUN provision/jdk/java-${jdk}.sh + +ARG lombokjar=lombok.jar +ADD https://projectlombok.org/downloads/${lombokjar} /lombok.jar + +ARG maven=3.6.3 +ADD provision/maven/maven-${maven}.sh provision/maven/maven-${maven}.sh +RUN provision/maven/maven-${maven}.sh + +FROM ubuntu:22.04 + +COPY --from=downloader /usr/local/apache-maven/ /usr/local/apache-maven/ +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=17 +ADD maven/files/jdk-${jdk} ./ + +COPY --from=downloader /lombok.jar /workspace/classpath/lombok.jar +COPY --from=downloader /lombok.jar /workspace/modules/lombok.jar + +ENV JDK_VERSION=${jdk} +ENV JAVA_HOME=/opt/jdk +ENV M2_HOME=/usr/local/apache-maven/apache-maven +ENV M2=${M2_HOME}/bin +ENV PATH="${M2}:${JAVA_HOME}/bin:${PATH}" + +ENTRYPOINT bash diff --git a/docker/maven/Dockerfile.bak b/docker/maven/Dockerfile.bak new file mode 100644 index 00000000..0d225bbb --- /dev/null +++ b/docker/maven/Dockerfile.bak @@ -0,0 +1,37 @@ +FROM ubuntu:22.04 as downloader + +ARG jdk=17 +ADD provision/jdk/java-${jdk}.sh provision/jdk/java-${jdk}.sh +RUN provision/jdk/java-${jdk}.sh + +ARG lombokjar=lombok.jar +ADD https://projectlombok.org/downloads/${lombokjar} /lombok.jar + +ARG maven=3.6.3 +ADD provision/maven/maven-${maven}.sh provision/maven/maven-${maven}.sh +RUN provision/maven/maven-${maven}.sh + +FROM ubuntu:22.04 + +COPY --from=downloader /usr/local/apache-maven/ /usr/local/apache-maven/ +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=16 +ADD maven/files/jdk-${jdk} ./ + +COPY --from=downloader /lombok.jar /workspace/classpath/lombok.jar +COPY --from=downloader /lombok.jar /workspace/modules/lombok.jar + +ENV JDK_VERSION=${jdk} +ENV JAVA_HOME=/opt/jdk +ENV M2_HOME=/usr/local/apache-maven/apache-maven +ENV M2=${M2_HOME}/bin +ENV PATH="${M2}:${JAVA_HOME}/bin:${PATH}" + +ENTRYPOINT bash diff --git a/docker/maven/readme.md b/docker/maven/readme.md index 5f0d196c..45d45ae1 100644 --- a/docker/maven/readme.md +++ b/docker/maven/readme.md @@ -16,17 +16,17 @@ The maven version to be used. Supported values: (To be executed from the `/docker` directory) ``` -docker build -t lombok-maven-jdk16 -f maven/Dockerfile . +docker build -t lombok-maven-jdk17 -f maven/Dockerfile . -docker build -t lombok-maven-jdk16 --build-arg lombokjar=lombok-1.18.20.jar -f maven/Dockerfile . +docker build -t lombok-maven-jdk17 --build-arg lombokjar=lombok-1.18.20.jar -f maven/Dockerfile . ``` ## Example run commands: ``` -docker run -it lombok-maven-jdk16 +docker run -it lombok-maven-jdk17 -docker run --rm -it -v //dist/lombok.jar:/workspace/lombok.jar lombok-maven-jdk16 +docker run --rm -it -v //dist/lombok.jar:/workspace/lombok.jar lombok-maven-jdk17 ``` ## Example container commands: diff --git a/docker/provision/jdk/java-17.sh b/docker/provision/jdk/java-17.sh new file mode 100644 index 00000000..bdaaf11e --- /dev/null +++ b/docker/provision/jdk/java-17.sh @@ -0,0 +1,4 @@ +apt-get update && apt-get install -y wget +wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.8.1%2B1/OpenJDK17U-jdk_x64_linux_hotspot_17.0.8.1_1.tar.gz -O jdk.tar.gz +tar -xzf jdk.tar.gz -C /opt/ +mv /opt/jdk-17.0.8.1+1 /opt/jdk \ No newline at end of file diff --git a/docker/shared/classpath/src/main/java/HelloWorld.java b/docker/shared/classpath/src/main/java/HelloWorld.java index ff12d248..dddf83d9 100644 --- a/docker/shared/classpath/src/main/java/HelloWorld.java +++ b/docker/shared/classpath/src/main/java/HelloWorld.java @@ -1,12 +1,12 @@ -@lombok.Data -public class HelloWorld { - private final int answer; - - public static void main(String... args) { - System.out.println(new HelloWorld(42).getAnswer()); - } - - @FunctionalInterface interface Foo { - String name(); - } -} +@lombok.Data +public class HelloWorld { + private final int answer; + + public static void main(String... args) { + System.out.println(new HelloWorld(42).getAnswer()); + } + + @FunctionalInterface interface Foo { + String name(); + } +}