The topic of build scripts will never end. I did one for Java called 7Bee. Then I started using it for building Rust projects too. Soon, I decided to rewrite it in Rust. Major disadvantage of 7Bee was using XML that made all scipts too bulky. So one of the goals of the Rust Bee was getting rid of XML, reducing the scripts footprint and making them easy readable.
The language is described here.
It's a self building tool, however it needs a bootstrapping. 7Bee is used for the purpose (see instructions inside). You can use RustBee itself for building it after you built the starter version.
The RustBee script has one dependency SimScript.
Clone it first at the same directory level as rust_bee. You can use the install target of the script for installing the tool.
The following crates will be required to build the RustBee
Their repositories need to be checked out before building the RustBee.
and
- Common shared modules (the repository should be just checked out on Windows)
if HTTP get is enabled, then the following crates need to be built prior:
If RustBee used for building them, then the build scripts are:
# from https://github.com/jayjamesjay/http_req
# the repository location - workspace/side/http_req
crate =http_req
crate main=lib
crate_src=src
dep_crates=[]
comp opts=[--extern,unicase]
test file=examples/get
#all paths are relative assuming that the crate resides in workspace/side/http_req
common =..${~/~}..${~/~}simscript${~/~}comm-crate.7b:file
common_test =..${~/~}..${~/~}simscript${~/~}comm-test.7b:file
crate_dir=..${~/~}..${~/~}crates
include(common);
include(common_test)
and
# from https://github.com/seanmonstar/unicase
# the repository location - workspace/side/unicase
crate =unicase
crate main=lib
crate_src=src
dep_crates=[]
comp opts=[]
test file=test
common =..${~/~}..${~/~}simscript${~/~}comm-crate.7b:file
common_test =..${~/~}..${~/~}simscript${~/~}comm-test.7b:file
crate_dir=..${~/~}..${~/~}crates
include(common);
Since the product supports a colorized output, it obeys rules used by SimColor.
The current version is 1.19.03 (SI edition).
Some examples of using RustBee can be found here.
People use Python for SI development, however the scripting language is also useful for the purpose.