First public-ready release of Please v3.x!
The major change in this version is a rewrite of the parser engine's interop code to use cffi's new embedding mode. This allows runtime-loadable parsers and means that it's possible to run Please with a cpython engine as well as PyPy. Hopefully this should make deployment / running easier.
Other significant changes include:
- Builtin rules no longer call
zip
andjar
, instead we use our own tooling which creates deterministic outputs. - Python targets now have a
stripped
build config that precompiles .pyc files and removes the source code, for cases where you might want to distribute sourceless pexes. They also initialise a bit faster. - Added a Bazel compatibility mode that accepts various alternate argument names and mimics some of their builtins. This allows parsing simple Bazel projects although not loading Skylark rules.
filegroup
rules are now a builtin, which is faster, simplifies some internal code and avoids some issues with command lengths for rules that expand to many sources.cc_library
rules parallelise internal compilation better when they have multiple srcs.- Fixes to cache servers to handle some fringe cases, especially around directories.