scala - Idiomatic sbt custom incremental work criteria -
i'd have compile task depend on task mytask
expensive should run if custom metric has changed since last time run. let's have function mycriterion : state => string
returns canonical representation of custom criterion.
ideally, compile depend on mytask onlyif mycriterion changed
or along lines. see bunch of stuff around tracked.inputchanged
, filesinfo.*
seems relevant, can't find indication of how use them. behind scenes, i'd mytask
run mycriterion
, check against cached version on disk if it's present, , if match, nothing @ all. if don't match, i'd run logic of mytask
, write current output of mycriterion
cache don't perform task unnecessarily next time around (since produce same output each time). compile should happen regardless of whether mytask
turns nop or not.
i think i've figured out how use tracked
, it's worth: if write tracked.inputchanged(somepath) { case (changed, state: string) => if (changed) ... }
, apply result of string
(with equiv[string]
instance in scope) change checking me. i'm still curious idiomatic way relate tasks kind of pattern though.
Comments
Post a Comment