Please quickstart
System requirements
Please supports Linux, macOS and FreeBSD at the moment. The included build rules require core utils and aim to be portable between recent distributions of these platforms.
Installing
curl https://get.please.build | bash
This will download and install the latest version of Please on your
system.
It also adds itself to your PATH
; you may need to
source ~/.bashrc
or
source ~/.zshrc
after install to get that updated.
If you're using Homebrew, you can install using that:
brew tap thought-machine/please
brew install please
Finally, if you'd prefer more manual installation, grab a tarball off
our releases page
and extract it yourself; it normally lives in
~/.please
but you can put it where you want.
See here for information if you'd like to verify signatures of the download before running.
When you run plz init
, Please will create a
pleasew
script in the
repository root which can subsequently be used to download and run please.
Shell completion
Please comes with a completion script for Bash and zsh built-in.
You can produce it by running
plz --completion_script
. This is handy to add to
your .bashrc
or .zshrc
,
for example:
source <(plz --completion_script)
The script will complete subcommands and flags but most relevantly can also complete build labels by reading BUILD files for you.
BUILD file Language Protocol Server
Please ships with a language server for build files. It follows the language server protocol from VS Code.
To use LPS, simply download the language server protocol plugin for your
favourite editor, and run the binary with the command
plz tool lps
.
Currently LPS supports auto-completion (this works with build labels too!), hover, goto definition, diagnostics, signature help, auto-formatting and references.
Getting started
Run plz init
at the root of your repo to create
the .plzconfig file. There are many options that can be configured in this
file but you can worry about them later - the defaults should be fine to
begin with.
Once you have your .plzconfig, you can run plz init plugin [plugin]
which will pull in a
plugin for you with language-specific build rules. See plugins for
more information on how to do this and what plugins are available.
More info
If you want more information on Please, you can raise issues on Github or catch us on Gitter to ask questions.