Skip to content

Commit b9c9b38

Browse files
committed
Clear out warnings in a config cache compatible way
1 parent 346c7e8 commit b9c9b38

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

src/main/groovy/org/gradle/android/AndroidCacheFixPlugin.groovy

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ import org.gradle.android.workarounds.Workaround
1616
import org.gradle.android.workarounds.WorkaroundContext
1717
import org.gradle.api.Plugin
1818
import org.gradle.api.Project
19+
import org.gradle.api.services.BuildService
20+
import org.gradle.api.services.BuildServiceParameters
1921
import org.gradle.util.VersionNumber
2022
import org.slf4j.Logger
2123
import org.slf4j.LoggerFactory
@@ -80,9 +82,7 @@ class AndroidCacheFixPlugin implements Plugin<Project> {
8082
appliedWorkarounds += workaround.getClass().simpleName - "Workaround"
8183
}
8284

83-
project.gradle.buildFinished {
84-
Warnings.values().each {it.reset() }
85-
}
85+
project.gradle.sharedServices.registerIfAbsent("warnings", WarningsService.class) { }.get()
8686
}
8787

8888
static List<Workaround> getWorkaroundsToApply(
@@ -115,4 +115,11 @@ class AndroidCacheFixPlugin implements Plugin<Project> {
115115
}
116116
workaroundsBuilder.build()
117117
}
118+
119+
abstract static class WarningsService implements BuildService<BuildServiceParameters.None>, AutoCloseable {
120+
@Override
121+
void close() throws Exception {
122+
Warnings.values().each {it.reset() }
123+
}
124+
}
118125
}

0 commit comments

Comments
 (0)