Plugins are a way to extend Please with build rules for additional languages or technologies. The quickest way to get
started is by running plz init plugin [go|python|java]
. The full list of available plugins
can be found here.
Plugins are configured in your .plzconfig
file. For example, to load the
python
plugin, add the following to your .plzconfig
file:
[Plugin "python"]
Target = //plugins:python
DefaultInterpreter = python3 # Optional config
Where Target = //plugins:python
is the plugin_repo()
target for your plugin. For example:
plugin_repo(
name = "python",
revision = "v0.1.0",
)
There are some first-class plugins that are supported and maintained by the Please team. These are listed below.
{{ range $plugin := . }}{{$plugin.Help}}
{{ range $key, $_ := $plugin.Rules.Functions }} {{ template "lexicon_entry.html" $plugin.Rules.Named $key }} {{end}}{{$field.Help}}
{{if $field.Inherit}}If set, {{$field.Name}} is inherited from the host repo.
{{end}} {{if $field.DefaultValue}}
Defaults to {{$field.DefaultValue}}