3 ms·
Even when large projects might have different requirements than 'regular sized' projects, some things don't make much sense to me TBH: What's the point of a de
by flohofwoe 2y ago
Even when large projects might have different requirements than 'regular sized' projects, some things don't make much sense to me TBH:
What's the point of a development container when there's already Cargo which is supposed to manage dependencies? If there are any system-wide dependencies required which need to be installed outside Cargo I would consider the build system incomplete or broken?
Why is there a separate Makefile instead of using Cargo for all build tasks?
E.g. one of the great advantages of the Rust ecosystem (compared to the C/C++ or Javascript worlds) is that Rust has standard tooling. Why bring in additional tools from outside the Rust ecosystem?
- sshine 2y agoCargo doesn’t handle non-Rust dependencies. For example, the protobuf compiler when called from build.rs. People use devcontainers, Nix flakes or large build systems like Bazel to describe the build environment.
- yencabulator 2y agohttps://github.com/andrewhickman/protox https://github.com/andrewhickman/protox is a pure-Rust protobuf compiler. The argument works better for the likes of libclang.
- sshine 2y agoThank you for the recommendation.
- noctune 2y agoIt is very common to have dependencies outside of Cargo. Take cc, the most popular crate for calling the system C/C++ compiler. It currently has 1983 other crates that depend on it [1]. [1]: https://crates.io/crates/cc/reverse_dependencies https://crates.io/crates/cc/reverse_dependencies