Skip to content

Commit 0af77d4

Browse files
committed
Log warning when using entry retention override with Gradle 9, as it can only be set from an init script
1 parent a704db4 commit 0af77d4

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

release/changes.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
- [NEW] Added tagging VS Code builds
2-
- [FIX] Retreiving git metadata when an altenate project path is given
2+
- [FIX] Retrieving git metadata when an alternate project path is given
3+
- [FIX] Applying cache entry retention override fails build with Gradle 9

src/main/java/com/gradle/Overrides.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
import com.gradle.develocity.agent.gradle.adapters.BuildCacheConfigurationAdapter.RemoteBuildCacheAdapter;
66
import com.gradle.develocity.agent.gradle.adapters.DevelocityAdapter;
77

8+
import org.gradle.api.logging.Logger;
9+
import org.gradle.api.logging.Logging;
810
import org.gradle.api.provider.ProviderFactory;
911

1012
import java.time.Duration;
@@ -15,6 +17,8 @@
1517
*/
1618
final class Overrides {
1719

20+
private static final Logger logger = Logging.getLogger(Overrides.class);
21+
1822
// system properties to override Develocity configuration
1923
static final String DEVELOCITY_URL = "develocity.url";
2024
// deprecated, use 'develocity.url' instead
@@ -60,7 +64,13 @@ void configureBuildCache(BuildCacheConfigurationAdapter buildCache) {
6064

6165
private void configureLocalBuildCache(LocalBuildCacheAdapter local) {
6266
sysPropertyOrEnvVariable(LOCAL_CACHE_DIRECTORY, providers).ifPresent(local::setDirectory);
63-
durationSysPropertyOrEnvVariable(LOCAL_CACHE_REMOVE_UNUSED_ENTRIES_AFTER_DAYS, providers).ifPresent(v -> local.setRemoveUnusedEntriesAfterDays((int) v.toDays()));
67+
durationSysPropertyOrEnvVariable(LOCAL_CACHE_REMOVE_UNUSED_ENTRIES_AFTER_DAYS, providers).ifPresent(v -> {
68+
if (!Utils.isGradle9OrNewer()) {
69+
local.setRemoveUnusedEntriesAfterDays((int) v.toDays());
70+
} else {
71+
logger.warn("{} override unsupported. As of Gradle 9.0, entry retention can only be changed in an init script", LOCAL_CACHE_REMOVE_UNUSED_ENTRIES_AFTER_DAYS);
72+
}
73+
});
6474
booleanSysPropertyOrEnvVariable(LOCAL_CACHE_ENABLED, providers).ifPresent(local::setEnabled);
6575
booleanSysPropertyOrEnvVariable(LOCAL_CACHE_PUSH, providers).ifPresent(local::setPush);
6676
}

src/main/java/com/gradle/Utils.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,10 @@ static boolean isGradle74OrNewer() {
221221
return isGradleNewerThan("7.4");
222222
}
223223

224+
static boolean isGradle9OrNewer() {
225+
return isGradleNewerThan("9.0");
226+
}
227+
224228
private static boolean isGradleNewerThan(String version) {
225229
return GradleVersion.current().compareTo(GradleVersion.version(version)) >= 0;
226230
}

0 commit comments

Comments
 (0)