From c4a931adc2b18729020218d6c2f89b178ca3d204 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Koz=C5=82owski?= Date: Wed, 23 Jul 2025 19:56:16 +0200 Subject: [PATCH 1/2] Simplify task caching --- .../SmithyTraitCodegenPlugin.scala | 23 ++++--------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/sbtPlugin/src/main/scala/org/polyvariant/smithytraitcodegen/SmithyTraitCodegenPlugin.scala b/sbtPlugin/src/main/scala/org/polyvariant/smithytraitcodegen/SmithyTraitCodegenPlugin.scala index 609828e..3ec9390 100644 --- a/sbtPlugin/src/main/scala/org/polyvariant/smithytraitcodegen/SmithyTraitCodegenPlugin.scala +++ b/sbtPlugin/src/main/scala/org/polyvariant/smithytraitcodegen/SmithyTraitCodegenPlugin.scala @@ -62,7 +62,6 @@ object SmithyTraitCodegenPlugin extends AutoPlugin { Keys.generateSmithyTraits := Def.task { import sbt.util.CacheImplicits.* val s = (Compile / streams).value - val logger = sLog.value val report = update.value val dependencies = smithyTraitCodegenDependencies.value @@ -84,26 +83,12 @@ object SmithyTraitCodegenPlugin extends AutoPlugin { dependencies = jars.map(PathRef(_)).toList, externalProviders = smithyTraitCodegenExternalProviders.value, ) + val cachedCodegen = - Tracked.inputChanged[SmithyTraitCodegen.Args, SmithyTraitCodegen.Output]( - s.cacheStoreFactory.make("smithy-trait-codegen-args") - ) { - Function.untupled( - Tracked - .lastOutput[(Boolean, SmithyTraitCodegen.Args), SmithyTraitCodegen.Output]( - s.cacheStoreFactory.make("smithy-trait-codegen-output") - ) { case ((inputChanged, codegenArgs), cached) => - cached - .filter(_ => !inputChanged) - .fold { - SmithyTraitCodegen.generate(codegenArgs) - } { last => - logger.info("Using cached result of smithy-trait-codegen") - last - } - } - ) + Cache.cached(s.cacheDirectory) { + SmithyTraitCodegen.generate } + cachedCodegen(args) }.value, Compile / sourceGenerators += Def.task { From 2c3aa2dfef3e7aab57cfcdd904c43a4955db06d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Koz=C5=82owski?= Date: Wed, 23 Jul 2025 19:57:01 +0200 Subject: [PATCH 2/2] fix --- .../smithytraitcodegen/SmithyTraitCodegenPlugin.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbtPlugin/src/main/scala/org/polyvariant/smithytraitcodegen/SmithyTraitCodegenPlugin.scala b/sbtPlugin/src/main/scala/org/polyvariant/smithytraitcodegen/SmithyTraitCodegenPlugin.scala index 3ec9390..27d19dd 100644 --- a/sbtPlugin/src/main/scala/org/polyvariant/smithytraitcodegen/SmithyTraitCodegenPlugin.scala +++ b/sbtPlugin/src/main/scala/org/polyvariant/smithytraitcodegen/SmithyTraitCodegenPlugin.scala @@ -85,7 +85,7 @@ object SmithyTraitCodegenPlugin extends AutoPlugin { ) val cachedCodegen = - Cache.cached(s.cacheDirectory) { + Cache.cached(s.cacheStoreFactory.make("smithy-trait-codegen")) { SmithyTraitCodegen.generate }