File tree Expand file tree Collapse file tree 3 files changed +24
-1
lines changed
embrace-gradle-plugin/src/main/java/io/embrace/android/gradle/plugin Expand file tree Collapse file tree 3 files changed +24
-1
lines changed Original file line number Diff line number Diff line change 1+ package io.embrace.android.gradle.plugin.buildreporter
2+
3+ import org.gradle.api.Project
4+ import org.gradle.api.configuration.BuildFeatures
5+ import org.gradle.api.provider.Provider
6+ import org.gradle.invocation.DefaultGradle
7+
8+ /* *
9+ * A wrapper around the BuildFeatures API, used to check if the configuration cache is enabled.
10+ * BuildFeatures API is available for Gradle 8.5 and above.
11+ */
12+ class BuildFeaturesWrapper {
13+ fun isConfigurationCacheEnabled (project : Project ): Provider <Boolean > {
14+ return try {
15+ (project.gradle as DefaultGradle ).services.get(BuildFeatures ::class .java).configurationCache.active
16+ } catch (e: Exception ) {
17+ project.provider { false }
18+ }
19+ }
20+ }
Original file line number Diff line number Diff line change @@ -79,7 +79,9 @@ class BuildTelemetryCollector {
7979
8080 private fun Project.isConfigurationCacheEnabled (): Boolean {
8181 return try {
82- if (isAtLeast(GradleVersion .GRADLE_7_6 )) {
82+ if (isAtLeast(GradleVersion .GRADLE_8_5 )) {
83+ return BuildFeaturesWrapper ().isConfigurationCacheEnabled(project).get()
84+ } else if (isAtLeast(GradleVersion .GRADLE_7_6 )) {
8385 val isConfigurationCacheRequestedMethod =
8486 this .gradle.startParameter::class .java.getMethod(" isConfigurationCacheRequested" )
8587 return isConfigurationCacheRequestedMethod.invoke(this .gradle.startParameter) as Boolean
Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ sealed class GradleVersion(private val version: org.gradle.util.GradleVersion) :
99 object CURRENT : GradleVersion(org.gradle.util.GradleVersion .current())
1010 object GRADLE_7_6 : GradleVersion(version("7.6"))
1111 object GRADLE_8_0 : GradleVersion(version("8.0"))
12+ object GRADLE_8_5 : GradleVersion(version("8.5"))
1213
1314 override fun compareTo (other : GradleVersion ): Int {
1415 return version.compareTo(other.version)
You can’t perform that action at this time.
0 commit comments