I am developing a complex build script with Shake, but (for now) I'm using Visual Studio solutions to build all of the binaries. Because of this, I need to define a rule that builds dozens of files in a single sweep. I don't know what the build outputs will be until it's done.
So, for example, I want to write rules like this:
"test-bins-x86" ~> do
vsBuild unitTestSln X86 Release -- produces dozens of outputs to .\x86\Release
"x86/Release/*.test-results" *> \out -> do
let testExe = out -<.> exe
need [testExe]
Stdout results <- cmd testExe
writeFile' out results
But, as it stands, the rule for *.test-results
does not know how to build testExe
because no rules formally define how. How can I work around this?