diff options
-rw-r--r-- | docker/ant/Dockerfile | 4 | ||||
-rw-r--r-- | docker/ant/files/jdk-16/classpath/build.xml | 35 | ||||
-rw-r--r-- | docker/ant/files/jdk-16/modules/build.xml | 35 | ||||
-rw-r--r-- | docker/ant/readme.md | 9 | ||||
-rw-r--r-- | docker/bazel/Dockerfile | 4 | ||||
-rw-r--r-- | docker/gradle/Dockerfile | 4 | ||||
-rw-r--r-- | docker/maven/Dockerfile | 4 | ||||
-rw-r--r-- | docker/provision/jdk/java-16.sh | 4 | ||||
-rw-r--r-- | src/utils/lombok/javac/java8/CommentCollectingScannerFactory.java | 11 |
9 files changed, 93 insertions, 17 deletions
diff --git a/docker/ant/Dockerfile b/docker/ant/Dockerfile index 57a2faf9..c38c6541 100644 --- a/docker/ant/Dockerfile +++ b/docker/ant/Dockerfile @@ -1,6 +1,6 @@ FROM ubuntu:18.04 as downloader -ARG jdk=13 +ARG jdk=16 ADD provision/jdk/java-${jdk}.sh provision/jdk/java-${jdk}.sh RUN provision/jdk/java-${jdk}.sh @@ -22,7 +22,7 @@ WORKDIR workspace ADD shared/ ./ -ARG jdk=13 +ARG jdk=16 ADD ant/files/jdk-${jdk} ./ COPY --from=downloader /lombok.jar /workspace/classpath/lombok.jar diff --git a/docker/ant/files/jdk-16/classpath/build.xml b/docker/ant/files/jdk-16/classpath/build.xml new file mode 100644 index 00000000..01decd3f --- /dev/null +++ b/docker/ant/files/jdk-16/classpath/build.xml @@ -0,0 +1,35 @@ +<project name="example" default="dist" basedir="."> + <property name="src" location="src/main/java"/> + <property name="build" location="build"/> + <property name="dist" location="dist"/> + <property name="build.sysclasspath" value="ignore"/> + + <target name="init"> + <tstamp/> + <mkdir dir="${build}"/> + </target> + + <target name="compile" depends="init" description="compile the source"> + <javac classpath="lombok.jar" modulepath="lombok.jar" srcdir="${src}" destdir="${build}" fork="true"> + <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/> + <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/> + <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED"/> + <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/> + <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED"/> + <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/> + <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/> + <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/> + <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/> + </javac> + </target> + + <target name="dist" depends="compile" description="generate the distribution"> + <mkdir dir="${dist}/lib"/> + <jar jarfile="${dist}/lib/example-${DSTAMP}.jar" basedir="${build}"/> + </target> + + <target name="clean" description="clean up"> + <delete dir="${build}"/> + <delete dir="${dist}"/> + </target> +</project>
\ No newline at end of file diff --git a/docker/ant/files/jdk-16/modules/build.xml b/docker/ant/files/jdk-16/modules/build.xml new file mode 100644 index 00000000..3f181ed9 --- /dev/null +++ b/docker/ant/files/jdk-16/modules/build.xml @@ -0,0 +1,35 @@ +<project name="example" default="dist" basedir="."> + <property name="src" location="src/main/java"/> + <property name="build" location="build"/> + <property name="dist" location="dist"/> + <property name="build.sysclasspath" value="ignore"/> + + <target name="init"> + <tstamp/> + <mkdir dir="${build}"/> + </target> + + <target name="compile" depends="init" description="compile the source"> + <javac classpath="lombok.jar" srcdir="${src}" destdir="${build}" fork="true"> + <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/> + <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/> + <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED"/> + <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/> + <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED"/> + <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/> + <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/> + <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/> + <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/> + </javac> + </target> + + <target name="dist" depends="compile" description="generate the distribution"> + <mkdir dir="${dist}/lib"/> + <jar jarfile="${dist}/lib/example-${DSTAMP}.jar" basedir="${build}"/> + </target> + + <target name="clean" description="clean up"> + <delete dir="${build}"/> + <delete dir="${dist}"/> + </target> +</project>
\ No newline at end of file diff --git a/docker/ant/readme.md b/docker/ant/readme.md index 7dce84e3..cfe90774 100644 --- a/docker/ant/readme.md +++ b/docker/ant/readme.md @@ -15,21 +15,22 @@ The ant version to be used. Supported values: (To be executed from the `<lombokhome>/docker` directory) ``` -docker build -t lombok-ant-jdk13 -f ant/Dockerfile . +docker build -t lombok-ant-jdk16 -f ant/Dockerfile . -docker build -t lombok-ant-jdk13 --build-arg lombokjar=lombok-1.16.20.jar -f ant/Dockerfile . +docker build -t lombok-ant-jdk16 --build-arg lombokjar=lombok-1.18.20.jar -f ant/Dockerfile . ``` ## Example run commands: ``` -docker run -it lombok-ant-jdk13 +docker run -it lombok-ant-jdk16 -docker run --rm -it -v /<lombokhome>/dist/lombok.jar:/workspace/lombok.jar lombok-ant-jdk13 +docker run --rm -it -v /<lombokhome>/dist/lombok.jar:/workspace/lombok.jar lombok-ant-jdk16 ``` ## Example container commands: ``` +cd classpath ant dist ``` diff --git a/docker/bazel/Dockerfile b/docker/bazel/Dockerfile index edc5e6fd..06149b1e 100644 --- a/docker/bazel/Dockerfile +++ b/docker/bazel/Dockerfile @@ -1,6 +1,6 @@ FROM ubuntu:18.04 as downloader -ARG jdk=13 +ARG jdk=16 ADD provision/jdk/java-${jdk}.sh provision/jdk/java-${jdk}.sh RUN provision/jdk/java-${jdk}.sh @@ -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=13 +ARG jdk=16 ENV JDK_VERSION=${jdk} ENV JAVA_HOME=/opt/jdk ENV BAZEL_HOME=/opt/bazel diff --git a/docker/gradle/Dockerfile b/docker/gradle/Dockerfile index 42c4775f..de85ca6f 100644 --- a/docker/gradle/Dockerfile +++ b/docker/gradle/Dockerfile @@ -1,6 +1,6 @@ FROM ubuntu:18.04 as downloader
-ARG jdk=13
+ARG jdk=16
ADD provision/jdk/java-${jdk}.sh provision/jdk/java-${jdk}.sh
RUN provision/jdk/java-${jdk}.sh
@@ -26,7 +26,7 @@ ADD gradle/files/ ./ COPY --from=downloader /lombok.jar /workspace/classpath/lombok.jar
COPY --from=downloader /lombok.jar /workspace/modules/lombok.jar
-ARG jdk=13
+ARG jdk=16
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 32ebbe48..7d30dbf3 100644 --- a/docker/maven/Dockerfile +++ b/docker/maven/Dockerfile @@ -1,6 +1,6 @@ FROM ubuntu:18.04 as downloader
-ARG jdk=13
+ARG jdk=16
ADD provision/jdk/java-${jdk}.sh provision/jdk/java-${jdk}.sh
RUN provision/jdk/java-${jdk}.sh
@@ -22,7 +22,7 @@ WORKDIR workspace ADD shared/ ./
-ARG jdk=13
+ARG jdk=16
ADD maven/files/jdk-${jdk} ./
COPY --from=downloader /lombok.jar /workspace/classpath/lombok.jar
diff --git a/docker/provision/jdk/java-16.sh b/docker/provision/jdk/java-16.sh new file mode 100644 index 00000000..339bc11e --- /dev/null +++ b/docker/provision/jdk/java-16.sh @@ -0,0 +1,4 @@ +apt-get update && apt-get install -y wget +wget https://github.com/AdoptOpenJDK/openjdk16-binaries/releases/download/jdk-16%2B36/OpenJDK16-jdk_x64_linux_hotspot_16_36.tar.gz -O jdk.tar.gz +tar -xzf jdk.tar.gz -C /opt/ +mv /opt/jdk-16+36 /opt/jdk
\ No newline at end of file diff --git a/src/utils/lombok/javac/java8/CommentCollectingScannerFactory.java b/src/utils/lombok/javac/java8/CommentCollectingScannerFactory.java index cb0d2e12..d0cac9ad 100644 --- a/src/utils/lombok/javac/java8/CommentCollectingScannerFactory.java +++ b/src/utils/lombok/javac/java8/CommentCollectingScannerFactory.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2019 The Project Lombok Authors. + * Copyright (C) 2011-2021 The Project Lombok Authors. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -74,11 +74,12 @@ public class CommentCollectingScannerFactory extends ScannerFactory { @Override public Scanner newScanner(CharSequence input, boolean keepDocComments) { - if (input instanceof CharBuffer) { - CharBuffer buf = (CharBuffer) input; - return new CommentCollectingScanner(this, new CommentCollectingTokenizer(this, buf, findTextBlocks)); + char[] array; + if (input instanceof CharBuffer && ((CharBuffer) input).hasArray()) { + array = ((CharBuffer) input).compact().flip().array(); + } else { + array = input.toString().toCharArray(); } - char[] array = input.toString().toCharArray(); return newScanner(array, array.length, keepDocComments); } |