#cargo-build #rules #package #generated #buck #transform #third-party

build buck-reindeer

A tool to transform Rust Cargo dependencies into generated Buck build rules

1 unstable release

0.0.1 Dec 21, 2023

#49 in #third-party

MIT license

265KB
6.5K SLoC

Reindeer - Building Cargo Packages with Buck

Jeremy Fitzhardinge jsgf@fb.com

This is a set of tools for importing Rust crates from crates.io, git repos, etc and generating Buck build rules for them. Currently it primarily solves the problem of managing third-party dependencies in a monorepo built with Buck, but my hope is that it can be extended to support Bazel and other similar build systems.

Installation and Building

Reindeer builds with Cargo in the normal way. It has no unusual build-time dependencies. Therefore, you can use Cargo to not only build Reindeer, but to install it as well.

cargo install --locked --git https://github.com/facebookincubator/reindeer reindeer

Nix

If you are using Nix, you can install Reindeer from nixpkgs via the reindeer package. This package is unofficial and community-maintained.

Getting started

There's a complete (but small) example to get started with. More complete documentation is in docs.

Contributing

We welcome contributions! See CONTRIBUTING for details on how to get started, and our code of conduct.

License

Reindeer is MIT licensed, as found in the LICENSE file.

Dependencies

~16–30MB
~485K SLoC