So, I'm experimenting with this in the Fuchsia build, and I'm seeing something odd with the number of clippy actions we have in the build: it dropped by about 2/3 (from 2003 to 785) on a clean build.
Our build graph contains templates that set up the following:
group(foo_target) {
public_deps = [ foo.actual, foo.aux]
}
rust_library(foo.actual) {...}
group(foo.aux) {
data_deps = [ foo.clippy ]
}
action(foo.clippy) {...}
And then this was changed to be:
group(foo_target) {
public_deps = [ foo.actual ]
validations = [ foo.aux]
}
rust_library(foo.actual) {...}
group(foo.aux) {
data_deps = [ foo.clippy ]
}
action(foo.clippy) {...}
I also tried
group(foo_target) {
public_deps = [ foo.actual, foo.aux]
}
rust_library(foo.actual) {...}
group(foo.aux) {
validations = [ foo.clippy ]
}
action(foo.clippy) {...}
And in this case, all clippy actions were dropped from the resultant build. So it looks like there's some interactions here between the groups and the validations? (the use of data_deps I could see definitely being an issue).