Addons & new build rules for Please
Most of these are either still experimental or sufficiently esoteric that we prefer not to make them part of the main Please distribution.
Currently contains the following:
- C++: Replacement rules that use ThinLTO to perform fast incremental link-time optimisation.
- Go:
go_bindata
rule to pack arbitrary files into Go source (see go-bindata) - Grm: Rules for building Thrax grammars. You'll need to have OpenFST and Thrax installed for these.
- Rust: A very basic set of rules for building Rust code. Hasn't gone much beyond "hello world" yet.
- Protocol Buffers: Extensions to the builtin proto rules, currently one to generate a REST proxy using grpc-gateway
- Python: Basic rules for importing dependencies from
requirements.txt
. Does not support all possible entries yet. - Java: An extended compiler worker that integrates error-prone for additional compile-time diagnostics.
- Scala: Basic rules for compiling scala code to
.jar
files. No test support yet. - Javascript: A set of rules integrating Yarn dependencies and a Webpack-based build into Please. Still somewhat incomplete.
- Package: Rules for packaging things. Currently contains a generic wrapper to fpm and a specific one for building .deb files.
- Remote: Various extended rules for fetching remote files. Includes some conveniences for handling git / github and one for verifying downloaded files against GPG ASCII-armoured signatures.