Add support for running Pants with newer versions of Python.
Drop support for PANTS_SHA
which was deprecated in 0.10.0
.
Redirect pants install messages to a pants-install.log
file in pants venv directory to not pollute
stdout/stderr.
This release upgrades pex
to v2.1.163
and the bootstrap Python to 3.9.18
.
The bundled Python interpreter has been upgraded to release 20240107
to avoid issues linking
against missing libcrypt.so.1
on Linux systems.
This release upgrades the underlying version of scie-jump to 0.14.0, which provides the following fixes:
- It statically links xz, thus avoiding a dynamic linking dependency on a (Homebrew-installed) package that may not be present at runtime on MacOS.
- It supports variable substitution in double quoted values in
.env
files.
This release fixes a regression when using PANTS_DEBUG
. The bundled Python interpreter has also
been upgraded to release 20231002
to address a potential issue with libcrypt.so.1
on Linux
systems.
This release ensures scie-pants obeys the PANTS_BOOTSTRAP_URLS
environment variable. This
environment variable can be set to the path of JSON file, and (now) allows overriding the default
locations from which scie-pants fetches Python interpreters and Pants PEXes, to support
firewalls.
This release improves diagnostics and logging.
This release fixes an issue where some Mac machines were unable to install Pants due to a missing
--find-links
argument.
It also supports fetching Pants PEXes from behind a firewall.
This release deprecates support for running against an arbitrary Pants commit using
PANTS_SHA=abc123... pants ...
. Pants no longer publishes the artifacts required for this for new
commits, and so this is becoming less and less useful. To replace use of PANTS_SHA
, do one of:
- Use a released version of Pants.
- Run pants from sources (for example:
PANTS_SOURCE=/path/to/pants-checkout pants ...
). - If these are not appropriate, let us know what you're using it for.
This release also fixes scie-pants running commands like pants tailor --check ...
with Pants
2.18.0.dev5 and newer (releases that use the new "per-platform" PEX).
This release propagates the version of the scie-pants
into the invocation of pants, so that Pants
itself can detect if it requires (or will require) features from newer versions of
scie-pants
.
Skipped due to a release error.
This release adds support for scie-pants to bootstrap Pants using a "per-platform" PEX uploaded as a GitHub release asset. Additionally, the new wheels.pantsbuild.prg/simple wheels index has been wired up to support Pants releases back to 2.0.0.dev0. Lastly, the selection of the latest version is now deferred to the GitHub Release with the "latest" tag.
NB. this version was published as 0.9.0, but PANTS_BOOTSTRAP_VERSION=report pants
reports itself
as 0.9.1.
This release fixes handling of environment variables when non-utf8 variables are present in the ambient environment.
This release adjusts the PANTS_SHA
and PANTS_VERSION
environment variables to be ignored, if
they're set to an empty string. For instance, PANTS_SHA= PANTS_VERSION= pants ...
will now behave
the same as pants ...
.
This release brings no new features or bug fixes, but it does convert the building of the
scie-pants
scie to use science
from the https://github.com/a-scie project. The only observable
difference is a new top-level science
object in the scie-pants
lift manifest that contains
build provenance information (see: SCIE=inspect pants | jq .science
).
This release fixes handling of the Pants native client by ensuring it is executable before trying to run it.
Adds support for using the Pants native client,
if it has been included in the Pants distribution. Pants releases starting with 2.17.0a0
are
expected to include the native client.
This release updates scie-jump
to 0.11.0 and ptex
to 0.7.0. The scie-jump
upgrade brings in
a feature not yet used by scie-pants
, but that will be used when it transitions from scie-jump
to science
for its scie building tool in an upcoming release.
The ptex
upgrade brings in many fixes in the underlying curl
code.
The scie-jump
release notes are here: https://github.com/a-scie/jump/releases/tag/v0.11.0
The ptex
release notes are here: https://github.com/a-scie/ptex/releases/tag/v0.7.0
This release fixes PANTS_SHA
support to properly cache the resulting Pants install.
Support the PANTS_TOML
environment variable for specifying a location other than the project's
build root for Pants configuration file. This was a missed port from the ./pants
script and
behaves the same: setting the PANTS_TOML
tells scie-pants
where to find the config file, but you
must also tell Pants by using PANTS_CONFIG_FILES
as well. With these two environment variables set
and the project's build root demarcated by either a BUILD_ROOT
or BUILDROOT
marker file, Pants
project layouts supported by ./pants
should now be fully supported by scie-pants
. Since
scie-pants
supports .env
files you can also populate both env vars there as now to streamline
the setup.
Support using pants from sources also from a projects subtree not only the project root.
This release fixes scie-pants
caching of Pants installs. Previously a given version of Pants was
not fully cached and scie-pants
would do un-necessary network requests when re-using the already
installed Pants version from a project directory different from the initial installation project
directory. Now a given version of Pants is fully cached per-user (really per SCIE_BASE
, which
defaults to a cache directory under the user's HOME
dir).
This release fixes scie-pants
to interoperate with pants run --debug-adapter
. Previously, if
there was no custom [debugpy] version
configured, scie-pants
would cause Pants to error by
passing the empty string as the debugpy
version
requirement string via PANTS_DEBUGPY_VERSION=
.
This release silences Pip notifications about new Pip versions being available. The Pip used by scie-pants is for a one-time install of a Pants in a venv and the version of Pip that ships with the hermetic Python Build Standalone interpreters suffices for this purpose.
This release improves scie-pants
operation with Pants help by ensuring the command line you used
to invoke Pants is accurately reflected in the help information Pants presents back to you.
This release fixes .pants.bootstrap
handling to robustly mimic handling by the ./pants
script.
The scie-pants
binary now re-execs itself through a bash shell when .pants.bootstrap
needs to
be sourced.
This release supports using a released Pants version in the Pants repo when a Pants version to use is defined, treating it as any other project that use Pants as build system.
This release supports use of the scie-pants
binary in the Pants repo being defaulted to
PANTS_SOURCE=. pants
behavior; i.e.: If you run pants
in the Pants repo, it will do what you
probably expect: not run Pants from a released version (since the Pants repo specifies none), not
prompt you to set pants_version
(because that's almost surely not what you want), but run Pants
from the local repo sources.
This release fixes the Pants from sources feature added in 0.3.0 to forward command line arguments to the Pants run from sources correctly. Previously the argument list passed was doubled.
This release adds support for running Pants from a local Pants clone. This is useful for testing out unreleased Pants changes.
This feature used to be provided by a bespoke pants_from_sources
script copied around to various
repositories; an example of which is here.
There are two ways to activate this mode:
- Execute
pants
with thePANTS_SOURCE
environment variable set as the path to the Pants repo whose Pants code you'd like to run against your repo. - Copy, hardlink or symlink your
pants
binary topants_from_sources
and execute that.
The first activation method is new. The second mode follows the bespoke ./pants_from_sources
conventions and assumes PANTS_SOURCE=../pants
. You can override that by setting thePANTS_SOURCE
env var as in the first activation method.
This release fixes the scie-pants scie to not expose the interpreter used to run a Pants installation on the PATH. People using Pants for Python projects will need to supply their own local Python interpreter for Python goal Processes to use, just like they always have had to.
This release fixes un-warranted warnings processing some .pants.bootstrap
files.
This release brings support for loading environment variables into Pants (and scie-pants
)
environment via the .env
file convention.
This release fixes SCIE_BOOT=update ./scie-pants
; i.e.: updating scie-pants
when invoking
scie-pants
vis a relative path. It also fixes scie-pants
to work when on the PATH
as pants
in any repo that already contains the ./pants
bash script.
This release folds one step setup
functionality into scie-pants
.
This release fixes a bug using SCIE_BOOT=update scie-pants
to have
scie-pants
update itself to the latest stable release. Previously, it
would always update to itself if there was no greater stable version
released. Now, it properly short-circuits and informs that there is no
newer version available.
The 1st public release of the project.