aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docker/ant/Dockerfile4
-rw-r--r--docker/ant/files/jdk-16/classpath/build.xml35
-rw-r--r--docker/ant/files/jdk-16/modules/build.xml35
-rw-r--r--docker/ant/readme.md9
-rw-r--r--docker/bazel/Dockerfile4
-rw-r--r--docker/gradle/Dockerfile4
-rw-r--r--docker/maven/Dockerfile4
-rw-r--r--docker/provision/jdk/java-16.sh4
-rw-r--r--src/utils/lombok/javac/java8/CommentCollectingScannerFactory.java11
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);
}