Move from Make to better cross platform build tool
TL;DR - WSL on Windows hurts a lot, so it would be good if we could use something that is (a) potentially native to the Rust ecosystem and (b) doesn't force WSL on our developers.
One option: https://crates.io/crates/cargo-make
Since people are will have cargo installed anyway, to install a cargo plugin doesn't seem like an onerous ask if it helps with cross platform development. WDYT?
Yeah I'm totally in favour of this, I think since you have to have cargo anyway asking someone to run cargo install is totally fine. I even thinking asking them to install another tool is fine, as long it's easy to install and work out of the box, rather than make's "setup MinGW or WSL environment" requirement.
There's a few other ones I know of you might want to have a look at. I have no real preference myself (except maybe a slight preference for earthly because I think it's a cool new technology), so whichever tool you find that works best for you is fine with me.
-
justA self styled "just" a command runner (also written in rust so can be installed with cargo) -
cargo xtaskNot a tool, but a pattern for having your project automation defined in Rust and callable with cargo directly. -
earthlyMarkets itself as "what if Make and Docker had a baby".
Originally posted by @XAMPPRocky in https://github.com/googleforgames/quilkin/issues/556#issuecomment-1209862000
Just writing out thoughts I have -
One quite large benefit of forcing WSL on Windows users is that it means that there is consistency between all OS's on things like directory pathing, (/ everywhere), config files are usually in the same / similar places etc (Kubernetes local config is always in ~/.kube/config for example), etc.
There's a lot less special case management between platforms. When evaluating other options, we should see if there is anything they provide to make handling these issues between platforms simpler.