2 releases

Uses old Rust 2015

0.1.1 May 10, 2017
0.1.0 May 7, 2017

#2158 in Development tools

MIT license

16KB
321 lines

Bazeld

OS Build Status
Linux Linux Build Status
Windows Windows Build status

Bazled, is a wrapper around Google's build system bazel. Since this project is just a wrapper it is 100% compatible with bazel, and can be used as an optional component. You don't have to force people to use bazeld. They can still use bazel. This project initially came out of wanting something like BUCK's project aliasing. I couldn't really find documentation on it. To this day I still don't think they have it. As such I decided to create bazeld to perform that.

I figured I'd want to wrap bazel's command line tool to perform this. Although I haven't used Bazel all that much I figured I might as well start with this, and other things will crop up as I use it. Feel free to file an issue if you have an idea for something.

Installation

  1. Make sure you have rust installed, and ready to build. Go Here, or use this one-line bash statement: curl -sSf https://static.rust-lang.org/rustup.sh | sh.
  2. Once you have rust installed simply run: cargo install bazeld

Configuring

Configuring for Bazeld is done a per directory config. This allows for easier management in monorepos. Bazeld takes your current directory, and searches for files in .bazled/. This makes it not get in the way of bazel. If no configuration is in .bazled/, bazled will basically be just a normal bazel.

Since it's a per directory config in a monorepo you can have for example:

monorepo/
  .bazled/
  project_one/
  project_two/

When you're inside project_one, you can have a unique configuration, and when you're inside project_two you can have a completely seperate configuration. For example you probably want to have different default projects in those directories. This design allows for that. I recommend taking a look at the Wiki for the possible configuration values.

License

Bazeld is licensed under MIT.

Dependencies

~9MB
~191K SLoC