diffplug / diffplug/goomph

Cross-project property lookups are incompatible with Gradle isolated projects

Open
#225 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
137
Forks
33
PR merge metrics
No merged PRs in 30d

Description

[Gradle isolated projects](https://docs.gradle.org/current/userguide/isolated_projects.html#sec:migration_path) restrict how one (sub)project can access mutable state in another (sub)project. Version 4.4.1 of the `com.diffplug.eclipse.mavencentral` plugin violates these restrictions. Attempting to use this plugin [with isolated projects enabled](https://docs.gradle.org/current/userguide/isolated_projects.html#sec:enable) results in errors like the following:

```terminaloutput
- Plugin 'com.diffplug.eclipse.mavencentral': Project ':xxx:yyy:zzz' cannot dynamically look up a property in the parent project ':xxx:yyy'
```

Using a stack trace for additional context reveals that the problematic code is at `GoomphCacheLocations.java:56` in `com.diffplug.gradle. GoomphCacheLocations. initFromProject(Project)`:

https://github.com/diffplug/goomph/blob/7e7e41cd68c100ff1e6efdc8010bf8e60b7500a7/src/main/java/com/diffplug/gradle/GoomphCacheLocations.java#L56

See also related discussion in gradle/gradle#36998. Note especially [this comment](https://github.com/gradle/gradle/issues/36998#issuecomment-4617263322) near the very end that "We are getting rid of the `Project.getProperties()` method."

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.