Trying again for #58 ! I think this is a bit cleaner / less churn vs what I had there.
Two main components here:
Make CTRConfig implement Deserialize, and use that to parse metadata instead of manually walking the Cargo.toml. We already collected the metadata once, so we can just pass it through everywhere.
Run build callbacks once per artifact instead of just once. After all build callbacks are done, then try to run any additional callbacks, failing if we were asked to run more than one executable / test.
TODOs:
[x] Maybe if a custom runner for cargo 3ds test is specified, we should do the normal cargo thing and run all the executables in sequence? This would be nice for our CI etc.
Nvm, I forgot that for custom runner Cargo does the running, not cargo-3ds. I should file a separate issue to see if we can build the 3dsx before invoking the runner though... #61
[ ] Allow customizing the metadata for individual artifacts like I planned in #44 – might do this as a separate PR since this already feels big.
Closes #44
Trying again for #58 ! I think this is a bit cleaner / less churn vs what I had there.
Two main components here:
CTRConfig
implementDeserialize
, and use that to parse metadata instead of manually walking theCargo.toml
. We already collected the metadata once, so we can just pass it through everywhere.TODOs:
Maybe if a custom runner forNvm, I forgot that for custom runner Cargo does the running, notcargo 3ds test
is specified, we should do the normal cargo thing and run all the executables in sequence? This would be nice for our CI etc.cargo-3ds
. I should file a separate issue to see if we can build the 3dsx before invoking the runner though... #61