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.