Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move from Make to better cross platform build tool #564

Open
markmandel opened this issue Aug 9, 2022 · 1 comment
Open

Move from Make to better cross platform build tool #564

markmandel opened this issue Aug 9, 2022 · 1 comment
Labels
area/build-tools Development tooling.

Comments

@markmandel
Copy link
Member

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.

  • just A self styled "just" a command runner (also written in rust so can be installed with cargo)
  • cargo xtask Not a tool, but a pattern for having your project automation defined in Rust and callable with cargo directly.
  • earthly Markets itself as "what if Make and Docker had a baby".

Originally posted by @XAMPPRocky in #556 (comment)

@markmandel markmandel added the area/build-tools Development tooling. label Aug 9, 2022
@markmandel
Copy link
Member Author

markmandel commented Aug 24, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/build-tools Development tooling.
Projects
None yet
Development

No branches or pull requests

1 participant