From 8770544769367b780b3667b832920c78d4a87611 Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Sun, 29 Oct 2023 11:55:36 +0100 Subject: [PATCH] Remove classpath entries for non-existent libraries added by mrjar plugin The me.champeau.mrjar Gradle plugin causes non-existent libraries to be added to the Eclipse classpath, such as: This results in build errors in Eclipse IDE like the following. Project 'spring-core' is missing required library: '/workspaces/spring-framework/spring-core/build/classes/kotlin/java21' This commit filters those and removes them. --- gradle/ide.gradle | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gradle/ide.gradle b/gradle/ide.gradle index 435b1ca6af..2dcc141e81 100644 --- a/gradle/ide.gradle +++ b/gradle/ide.gradle @@ -1,3 +1,4 @@ +import org.gradle.plugins.ide.eclipse.model.Library import org.gradle.plugins.ide.eclipse.model.ProjectDependency import org.gradle.plugins.ide.eclipse.model.SourceFolder @@ -67,6 +68,14 @@ eclipse.classpath.file.whenMerged { } } +// Remove classpath entries for non-existent libraries added by the me.champeau.mrjar +// plugin, such as "spring-core/build/classes/kotlin/java21". +eclipse.classpath.file.whenMerged { + entries.findAll { it instanceof Library && !file(it.path).exists() }.each { + entries.remove(it) + } +} + // Include project specific settings task eclipseSettings(type: Copy) { from rootProject.files(