Re-enable import into Eclipse IDE
The migration to Gradle 7.2 resulted in a regression for our Eclipse IDE support: several projects ended up with recursive classpath entries in their generated .classpath files which prevent those projects from being built within Eclipse. This commit addresses this issue with a solution that may well be a "hack". Nonetheless, a working hack is better than not being able to import into Eclipse at all. See gh-26870
This commit is contained in:
parent
9e986c031b
commit
3faf445603
|
|
@ -18,10 +18,13 @@ eclipse.classpath.file.whenMerged { classpath ->
|
||||||
if (matcher) {
|
if (matcher) {
|
||||||
def projectName = matcher[0][1]
|
def projectName = matcher[0][1]
|
||||||
def path = "/${projectName}"
|
def path = "/${projectName}"
|
||||||
if(!classpath.entries.find { e -> e instanceof ProjectDependency && e.path == path }) {
|
if (!classpath.entries.find { e -> e instanceof ProjectDependency && e.path == path }) {
|
||||||
def dependency = new ProjectDependency(path)
|
// Avoid recursive dependency on current project.
|
||||||
dependency.exported = true
|
if (!entry.path.matches('.+/' + projectName + '/build/([^/]+/)+(?:main|test)')) {
|
||||||
classpath.entries.add(dependency)
|
def dependency = new ProjectDependency(path)
|
||||||
|
dependency.exported = true
|
||||||
|
classpath.entries.add(dependency)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
classpath.entries.remove(entry)
|
classpath.entries.remove(entry)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue