diff --git a/.github/workflows/ant.yml b/.github/workflows/ant.yml
index 4a53d4278f..a31cb3e3e4 100644
--- a/.github/workflows/ant.yml
+++ b/.github/workflows/ant.yml
@@ -108,6 +108,7 @@ jobs:
- eclipse-202312
- eclipse-202403
- eclipse-202406
+ - eclipse-202409
- eclipse-I-build
- eclipse-oxygen-full
- eclipse-2022-03-full
@@ -115,6 +116,7 @@ jobs:
- eclipse-2023-12-full
- eclipse-2024-03-full
- eclipse-2024-06-full
+ - eclipse-2024-09-full
- eclipse-I-build-full
- ecj11
- ecj14
diff --git a/buildScripts/ivy.xml b/buildScripts/ivy.xml
index 766fe92a79..ec30d33720 100644
--- a/buildScripts/ivy.xml
+++ b/buildScripts/ivy.xml
@@ -35,6 +35,7 @@
+
@@ -148,7 +149,7 @@
-
+
@@ -161,7 +162,7 @@
-
+
@@ -175,6 +176,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/buildScripts/setup.ant.xml b/buildScripts/setup.ant.xml
index 91d3d478bf..abd8d386fa 100644
--- a/buildScripts/setup.ant.xml
+++ b/buildScripts/setup.ant.xml
@@ -180,6 +180,10 @@ This buildfile is part of projectlombok.org. It sets up the build itself.
+
+
+
+
diff --git a/buildScripts/tests.ant.xml b/buildScripts/tests.ant.xml
index 6044551823..766d2b5fd3 100644
--- a/buildScripts/tests.ant.xml
+++ b/buildScripts/tests.ant.xml
@@ -233,6 +233,11 @@ This buildfile is part of projectlombok.org. It takes care of compiling and runn
+
+
+
+
+
@@ -313,6 +318,10 @@ This buildfile is part of projectlombok.org. It takes care of compiling and runn
+
+
+
+
diff --git a/src/support/lombok/eclipse/dependencies/DownloadEclipseDependencies.java b/src/support/lombok/eclipse/dependencies/DownloadEclipseDependencies.java
index 0e8d589504..eff44bf73f 100644
--- a/src/support/lombok/eclipse/dependencies/DownloadEclipseDependencies.java
+++ b/src/support/lombok/eclipse/dependencies/DownloadEclipseDependencies.java
@@ -36,6 +36,9 @@
import java.util.Arrays;
import java.util.List;
import java.util.Set;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipInputStream;
+import java.util.zip.ZipOutputStream;
/**
* Download eclipse bundles.
@@ -87,12 +90,14 @@ private static void downloadFile(String filename, String repositoryUrl, String t
return;
}
System.out.print("Downloading '" + filename + "'... ");
+
InputStream in = null;
OutputStream out = null;
try {
in = getStreamForUrl(repositoryUrl + filename);
out = new FileOutputStream(targetFile);
- copy(in, out);
+
+ copyZipButStripSignatures(in, out);
System.out.println("[done]");
} catch (IOException e) {
System.out.println("[error]");
@@ -105,6 +110,18 @@ private static void downloadFile(String filename, String repositoryUrl, String t
}
}
+ private static void copyZipButStripSignatures(InputStream rawIn, OutputStream rawOut) throws IOException {
+ ZipInputStream in = new ZipInputStream(rawIn);
+ ZipOutputStream out = new ZipOutputStream(rawOut);
+
+ ZipEntry zipEntry;
+ while ((zipEntry = in.getNextEntry()) != null) {
+ if (zipEntry.getName().matches("META-INF/.*\\.(SF|RSA)")) continue;
+ out.putNextEntry(zipEntry);
+ copy(in, out);
+ }
+ }
+
private static void copy(InputStream from, OutputStream to) throws IOException {
byte[] b = new byte[4096];
while (true) {
diff --git a/test/core/src/lombok/RunTestsViaEcj.java b/test/core/src/lombok/RunTestsViaEcj.java
index 352ba4e6c9..3a0f02e26e 100644
--- a/test/core/src/lombok/RunTestsViaEcj.java
+++ b/test/core/src/lombok/RunTestsViaEcj.java
@@ -79,7 +79,6 @@ protected CompilerOptions ecjCompilerOptions(TestParameters parameters) {
options.targetJDK = ecjCompilerVersionConstant;
options.docCommentSupport = false;
options.parseLiteralExpressionsAsConstants = true;
- options.inlineJsrBytecode = true;
options.reportUnusedDeclaredThrownExceptionExemptExceptionAndThrowable = false;
options.reportUnusedDeclaredThrownExceptionIncludeDocCommentReference = false;
options.reportUnusedDeclaredThrownExceptionWhenOverriding = false;
@@ -96,6 +95,7 @@ protected CompilerOptions ecjCompilerOptions(TestParameters parameters) {
warnings.put(CompilerOptions.OPTION_ReportNonStaticAccessToStatic, "warning");
warnings.put("org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures", "ignore");
warnings.put(CompilerOptions.OPTION_Source, (ecjCompilerVersion < 9 ? "1." : "") + ecjCompilerVersion);
+ warnings.put(CompilerOptions.OPTION_TargetPlatform, (ecjCompilerVersion < 9 ? "1." : "") + ecjCompilerVersion);
warnings.put("org.eclipse.jdt.core.compiler.codegen.useStringConcatFactory", "disabled");
options.set(warnings);
return options;