smithy-lang/smithy-gradle-plugin

Add support for configuration caching

rschmitt opened this issue · 3 comments

The Smithy tasks refer to Task.project at execution time, which breaks configuration caching.

It looks like spotbugs is causing issues on build as well.

Running ./gradlew --configuration-cache build returns several problems for spotbugs.

Upgrading the spotbugs gradle plugin to 5.0.8 and re-running ./gradlew --configuration-cache build reduced that to a single problem.

I think once this issue, spotbugs/spotbugs-gradle-plugin#670, is resolved, we can upgrade the spotbugs plugin to the latest and that will unblock building.

I'm referring to the Smithy Gradle plugin itself, not its build process. All three tasks (smithyTags, smithyBuildJar, and smithyValidate) invoke getProject() at execution time, which breaks configuration caching in any builds that use the Smithy Gradle plugin.

Support for configuration caching (and removal of calls to getProject() at execution time) has been addressed in release 0.8.0.
An integration test has also been added to verify configuration caching works for the jar plugin: https://github.com/smithy-lang/smithy-gradle-plugin/blob/main/smithy-jar-plugin/src/it/java/software/amazon/smithy/gradle/SourceProjectionTest.java#L36