Skip to content

Please v3.0.2

Compare
Choose a tag to compare
@peterebden peterebden released this 28 May 11:00

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 and jar, 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.