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;