> - This build tool needs a programming language.
>
> - This programming language should not be Rust (to avoid the complexity of
> recursive builds) and indeed should be interpreted.
>
> Any similarly convincing arguments against those beliefs?

I haven't used the go tool much, but I have used both Leiningen and
Rebar (Clojure and Erlang build tools respectively), and they are two
of the more pleasant things I've ever used. Neither of them supports
direct programming like scons, but both are extensible through easy to
write simple plugins. Rebar especially works pretty much out of the
box with no special configuration needed for the large majority of
Erlang projects. Both rebar and lein also work reasonably well
building platform code (Java in lein's case or C in rebar's). I think
this is an existence proof that you don't need full language power in
the majority of cases, even moderately complicated ones.

Also, in those build systems, it is quite common for complicated
builds to drop to something else. For example, for building non-OTP
apps in Erlang, many people use regular makefiles. In Clojure-land,
using maven is also common.

It sounds like rustpkg will work similarly, and if anything really
complex is required, it's easy to switch to make or cmake, etc.

I've seen pretty much nothing but praise for the go toolchain, so I
think rustpkg is on the right track.

I would like to mention that JARs in clojure-land are very useful.
Erlang also has ez packages, but these are a bit restrictive in the
types of data they contain, so aren't quite as nice. This makes
shipping around and deploying things really simple. Specifically, it
is often useful to include non-code resources in these artifacts which
are easily accessible from the library consumer. Clojure has
clojure.java.io/resource to pick these up, and Erlang has a slightly
more verbose but similar way to do the same. Perhaps it would be
possible to incorporate something similar into Rust's build tooling.

jack.
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to