diff --git a/docker/ant/files/jdk-21/classpath/build.xml b/docker/ant/files/jdk-21/classpath/build.xml new file mode 100644 index 00000000..01decd3f --- /dev/null +++ b/docker/ant/files/jdk-21/classpath/build.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docker/ant/files/jdk-21/modules/build.xml b/docker/ant/files/jdk-21/modules/build.xml new file mode 100644 index 00000000..3f181ed9 --- /dev/null +++ b/docker/ant/files/jdk-21/modules/build.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docker/maven/Dockerfile.bak b/docker/maven/Dockerfile.bak deleted file mode 100644 index 0d225bbb..00000000 --- a/docker/maven/Dockerfile.bak +++ /dev/null @@ -1,37 +0,0 @@ -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/files/jdk-17/classpath/pom.xml b/docker/maven/files/jdk-17/classpath/pom.xml new file mode 100644 index 00000000..dd833235 --- /dev/null +++ b/docker/maven/files/jdk-17/classpath/pom.xml @@ -0,0 +1,53 @@ + + 4.0.0 + + com.example + lombok-jdk-${env.JDK_VERSION} + 1.0-SNAPSHOT + + + UTF-8 + 16 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.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/classpath/lombok.jar + + + + \ No newline at end of file diff --git a/docker/maven/files/jdk-17/modules/pom.xml b/docker/maven/files/jdk-17/modules/pom.xml new file mode 100644 index 00000000..b1c44f5f --- /dev/null +++ b/docker/maven/files/jdk-17/modules/pom.xml @@ -0,0 +1,60 @@ + + 4.0.0 + + com.example + lombok-jdk-${env.JDK_VERSION} + 1.0-SNAPSHOT + + + UTF-8 + 17 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.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.18.10 + + + + + + + + + + org.projectlombok + lombok + 1.2.3 + system + /workspace/modules/lombok.jar + + + + \ No newline at end of file diff --git a/docker/maven/files/jdk-21/classpath/pom.xml b/docker/maven/files/jdk-21/classpath/pom.xml new file mode 100644 index 00000000..e480d5cc --- /dev/null +++ b/docker/maven/files/jdk-21/classpath/pom.xml @@ -0,0 +1,53 @@ + + 4.0.0 + + com.example + lombok-jdk-${env.JDK_VERSION} + 1.0-SNAPSHOT + + + UTF-8 + 21 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.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/classpath/lombok.jar + + + + \ No newline at end of file diff --git a/docker/maven/files/jdk-21/modules/pom.xml b/docker/maven/files/jdk-21/modules/pom.xml new file mode 100644 index 00000000..9761bc47 --- /dev/null +++ b/docker/maven/files/jdk-21/modules/pom.xml @@ -0,0 +1,60 @@ + + 4.0.0 + + com.example + lombok-jdk-${env.JDK_VERSION} + 1.0-SNAPSHOT + + + UTF-8 + 21 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.9.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.18.28 + + + + + + + + + + org.projectlombok + lombok + 1.2.3 + system + /workspace/modules/lombok.jar + + + + \ No newline at end of file diff --git a/docker/provision/jdk/java-21.sh b/docker/provision/jdk/java-21.sh new file mode 100644 index 00000000..5a5a3114 --- /dev/null +++ b/docker/provision/jdk/java-21.sh @@ -0,0 +1,4 @@ +apt-get update && apt-get install -y wget +wget https://download.java.net/java/GA/jdk21/fd2272bbf8e04c3dbaee13770090416c/35/GPL/openjdk-21_linux-x64_bin.tar.gz -O jdk.tar.gz +tar -xzf jdk.tar.gz -C /opt/ +mv /opt/jdk-21 /opt/jdk \ No newline at end of file diff --git a/docker/readme.md b/docker/readme.md index 50a752ed..d5995684 100644 --- a/docker/readme.md +++ b/docker/readme.md @@ -13,8 +13,10 @@ By default, this is the latest released version. You can download a specific ver ### `ARG jdk=13` The jdk version to be used. Supported values: - -- `13` (default) +- `21` (based on openjdk instead of adoptium) +- `17` (default) +- `16` +- `13 - `12` - `11` - `10`