Releases: thought-machine/please
Releases · thought-machine/please
Please v10.1.0
This is Please v10.1.0
- Dynamic support for Python wheel naming schemes, either via name_scheme on the
rule or by setting it in the config. - diff_graphs added to plz tool.
Please v10.0.0
This is Please v10.0.0
- please_pex rewritten to be more efficient. This is a breaking change for anyone
who assumed they could import pkg_resources or pex as a global which will no longer
be available (although these are easy to add using pip_library or python_wheel rules
if still needed). - cgo_library takes a subdir argument that is needed if sources are in a subdirectory
from the BUILD file (this isn't breaking since it never worked without). - Support for assembly (using go tool asm) in go_library and go_binary rules.
- Removed a number of deprecated config properties.
- Removed a number of deprecated arguments to builtin build rules (most have been
deprecated and often nonfunctional for a long time now).
Please v9.5.0
This is Please v9.5.0
- New config property, parse.preloadbuilddefs which specifies files to be loaded
into the global rule context. - Moved a bunch of config properties (buildfilename, blacklistdirs, lang, parserengine,
nonce, experimentaldir and linttool) out of the [please] section since that had
turned into a bit of a grab-bag of unstructured properties.
Old ones are still honoured for now but will be removed in v10.0. - please_sandbox now mounts a tmpfs on /tmp
plz query print
prints a comment & build label on stdout rather then the bare label
on stderr.
Please v9.4.0
This is Please v9.4.0
- Added a c_object rule which lets you compile a C or C++ object file from a single
input. It's lower-level than c_library so rarely needed, but allows a bit more control. - Added protoc_binary which can download a protoc release to use as the protoc_tool.
Unfortunately there is no equivalent available for gRPC C++ / Python plugins. - Pre- and post- build functions are now better optimised about recalculating
changes after they run. Can significantly speed up building packages with
many c_library rules in them. - Jarcat can now align files to specific size boundaries in a similar way to
Android's zipalign command. - Setting PDEATHSIG on child commands which may help ensure that subprocesses
(especially workers) terminate correctly. - Runtime data of tests is exposed in a $DATA env var.
- Cleaning of the directory cache is now done in-process rather than in a
forked subprocess. This allows it to be better synchronised with the main build
about what it's deleting.
Please v9.3.0
This is Please v9.3.0
- Downloaded versions are now verified against a detached GPG signature.
- Support for following the progress of a remote build using
plz follow
.
Requires it to open a port, which is configured in the [events] section
of .plzconfig. - Support for arbitrary env vars in .plzconfig which are available to all build rules.
Note that these cause rebuilds of all targets on change, because we can't know what
effects they'll have. - Go 1.9 is now required to compile Please.
Please v9.2.0
This is Please v9.2.0
- Added check_config builtin which helps with asserting that things are
set in .plzconfig, and ConfigError which is a little more specific than
ParseError. - Support for passing multiple values for Maven repos (in config and to
rules directly). They're searched in sequence and the rule succeeds as
long as any one contains the requested artifact. - The name / location of the command invoked for
go
is now configurable.
Please v9.1.0
This is Please v9.1.0
- The 'manual' label can now be applied per-architecture, e.g. manual:linux_amd64.
Please v9.0.0
This is Please v9.0.0
- Better support for multiple Python versions; should now support python 2.7, 3.4, 3.5
and 3.6 for bootstrap, and binary artifacts for all of those are written for coverage
in generated test pexes. - Removed a number of esoteric builtin rules: github_file, git_repo, fpm_package and
fpm_deb. Removed long-deprecated go_yacc rule andlink
argument to filegroup.
Removed rules are available at github.com/thought-machine/pleasings as build_defs
files; they will still work equivalently but it's unnecessary to have those built
into the core.
Please v8.7.0
This is Please v8.7.0
- The protoc_flags argument to proto_library now applies transitively to any
further protoc_library rules that depend on it, in a similar fashion to C++ rules.
Since protos always need all transitive dependencies to compile they typically
require transitive compiler flags as well. - Added a decompose function to the build builtins which breaks a build label into
its package and name parts.
Please v8.6.0
This is Please v8.6.0
- Optional support for per-test metrics.