pants

The Pants Build System

APACHE-2.0 License

Downloads
117.9K
Stars
3.1K
Committers
342

Bot releases are hidden (Show)

pants -

Published by benjyw almost 2 years ago

Bug fixes

  • scala: support scala v3 which has different compiler/library artifacts (Cherry pick of #17855) (#17866)

  • Restore support for :all: in only_binary/no_binary. (Cherry-pick of #17779) (#17784)

  • Test DebugAdapter requests, and fix issues (Cherry-pick of #17678) (#17768)

  • chdir in rule_runner.run_interactive_process (Cherry-pick of #17722) (#17765)

Performance

  • Run python sources with a VenvPex (Cherry-pick of #17700) (#17761)

Documentation

  • Document batched pytest execution. (Cherry-pick of #17845) (#17853)

  • Tweak the docs about defaults. (Cherry-pick of #17829) (#17838)

pants -

Published by stuhood almost 2 years ago

New Features

  • Allow targets that implement RunFieldSet to be executed in the sandbox for side-effects (#17716)

  • python_requirements target generator can parse PEP 621 pyproject.toml files (#16932)

User API Changes

  • Bump default version of shfmt from 3.2.4 to 3.6.0 (#17777)

  • An enum of Python export formats. (#17800)

  • Add export-codegen goal to more backends (#17773)

  • Adds execution_dependencies for experimental_shell_command (#17743)

Plugin API Changes

  • Remove boilerplate for run and test plugins (#17774)

Bug fixes

  • go: detect when go.sum needs additional entries filled in (#17811)

  • go: pass module sources through to linker if ${SRCDIR} is referenced (#17780)

  • go: improve options passed to assembler invocations (#17796)

  • Explicitly use "python" ijson backend (#17787)

  • Do not clear the pantsd log while restarting (#17783)

  • Restore support for :all: in only_binary/no_binary. (#17779)

  • go: remove notion of separate __obj__ directory (#17775)

  • Visibility: empty selector should match no target. (#17763)

  • [Visibility] **/.. globs can match root level files (#17681)

  • Visibility: fix rules path for generated targets. (#17760)

Documentation

  • Documentation for the new visibility rules (#17632)

  • Add Doctrine's eng blog post and example repo to resource hub. (#17810)

  • Add Astranis to user list. (#17812)

  • Add Doctrine to user list (#17793)

  • Doc: update Get docstring for multiple inputs. (#17730)

pants -

Published by benjyw almost 2 years ago

Bug fixes

  • More precise running workunit for processes executing remotely (Cherry-pick of #17719) (#17725)

  • Fix twine env vars propagation for publish goal. (Cherry-pick of #17650) (#17659)

  • Allow for run --debug-adapter to match breakpoints when source is running in a sandbox (Cherry-pick of #17566) (#17584)

  • Do not try to create "" output directory in CreateArchive (Cherry-pick of #17538) (#17548)

Documentation

  • Fix broken docs links to manual build instructions (Cherry-pick of #17608) (#17610)

  • Update team pages for SJ and Dan! (Cherry-pick of #17534) (#17568)

  • Add Shantanu Kumar to Contributors list (Cherry-pick of #17579) (#17587)

pants -

Published by benjyw almost 2 years ago

New Features

  • go: use target spec for coverage output directories plus support import path (#17734)

  • go: add assembler_flags field for adding arbitrary extra assembler flags (#17731)

  • Expose target field defaults in BUILD files. (#17649)

  • Add a new "preamble" plugin (#17682)

  • go: support code coverage over multiple packages during single test (#17701)

  • go: add linker_flags field to go_mod and go_binary target types (#17697)

  • go: add compiler_flags field for adding arbitrary extra compiler flags (#17683)

User API Changes

  • Include transitive requirements missing for python_distribution. (#17594)

  • Extend default module mapping for Python 3rd-party dependency inference: pysocks and atlassian-python-api (#17654)

Bug fixes

  • Test DebugAdapter requests, and fix issues (#17678)

  • chdir in rule_runner.run_interactive_process (#17722)

  • More precise running workunit for processes executing remotely (#17719)

  • Don't strip the input of a DictOption file config (#17705)

  • Visibility rules: error if more than one declaration per BUILD file. (#17669)

  • Allow JVM source to depend on relocated_files target (#17005)

  • Fix bug in Go test result exit code interpretation. (#17661)

Performance

  • Immutably hardlink "large" files in a sandbox (#17520)

  • Run python sources with a VenvPex (#17700)

Documentation

  • Doc fixes and updates: (#17708)

  • docs: tidy up Writing plugins : rules-api directory files (#17710)

  • Update docker docs to clarify dependency handling. (#17655)

pants -

Published by jsirois almost 2 years ago

New Features

  • go: address sanitizer support (#17651)

  • go: add support for C/C++ memory sanitizer (#17644)

  • shell: add experimental_test_shell_command for arbitrary shell-driven tests (#17640)

  • support Go data race detector (#17510)

  • Add Field.none_is_valid_value bool class var option. (#17577)

User API Changes

  • Remove deprecated run --cleanup option. (#17647)

  • Upgrade Pex to 2.1.116. (#17637)

Plugin API Changes

  • Remove deprecated Platform.current. (#17646)

Bug fixes

  • Fix twine env vars propagation for publish goal. (#17650)

  • Support source=None for docker_image targets. (#17578)

  • Specify local environment for python source analysis goal (#17603)

  • go: allow use of go_asm.h assembly header in assembly files (#17611)

  • Visibility rule glob tweaks for * and ** (#17588)

Documentation

  • Fix broken docs links to manual build instructions (#17608)

  • Docs: improve docs on handling option values in cli (#17506)

pants -

Published by stuhood almost 2 years ago

New Features

  • Add environment= to experimental_shell_command. (#17575)

  • Add debug goals to python (#17057)

  • Target visibility rules (#17401)

  • Emit a __run.sh into InteractiveProcess sandboxes. (#17532)

  • Support newer pip versions. (#17555)

  • New dependency rules Plugin API (#17550)

  • Export metadata about a packaged docker image (#17299)

  • Don't require hardcoded name in python_distribution.provides (#17522)

  • Add per_platform object (#17334)

  • Process output capturing is symlink-aware (#17496)

  • go: introduce GoBuildOptions and cgo_enabled field (#17475)

  • Disambiguate Python module providers by level of ancestry. (#17489)

  • go: support ".syso" prebuilt object files (#17479)

  • Add Docker registries use_local_alias configuration option. (#17265)

  • Proposal for supporting Jar shading rules (#17251)

  • A --resolve flag, to specify the resolves to export. (#17416)

  • Handle duplicate JAR entries in deploy_jar (#17419)

User API Changes

  • Upgrade default version of golangci-lint to 1.50.1 (#17574)

  • Deprecate the old export semantics. (#17465)

  • Add restartable field to python_sources (#17400)

  • Deprecate the # Dependees column name in the py-constraints summary. (#17399)

  • Rename the dependees goal to dependents. (#17397)

  • Rename --changed-dependees to --changed-dependents (#17395)

Bug fixes

  • Allow for run --debug-adapter to match breakpoints when source is running in a sandbox (#17566)

  • Created an NpxToolBase as an inheritable Subsystem for nodejs tools (#17567)

  • Fix loading of SymlinkNodes from the Store. (#17549)

  • Do not try to create "" output directory in CreateArchive (#17538)

  • Persist digests before emitting them in fs_util (#17525)

  • Fix memoization of CoarsenedTarget.closure (#17516)

  • Support parsing targets from additional paths not containing BUILD files. (#17451)

  • Ensure lockfile target exists before injecting a dependency to it. (#17365)

  • Ensure correct eq/hash semantics for PythonArtifact. (#17484)

  • Isolate config seed values from the DEFAULT section. (#17474)

  • Fix poorly understood stdout redirection issue. (#17471)

  • Fix propagation of the remote-execution-append-only-caches path (#17469)

  • Pyright should grab non-transitive dependencies and make them available in the sandbox (#17235)

  • Plumb symlink support through the Pants engine (#16844)

  • Flip the default for pull on docker_image to False (#17459)

  • Merge pytest addopts (#16614)

  • Fix dep inference from shuint2_tests targets. (#17417)

  • Fix EnvironmentName used in test runs (#17412)

  • Add the m1 homebrew bin dir to the system binary search path. (#17411)

  • Restore debug hints for test execution (#17406)

Performance

  • Skip loading of local cache data when possible (#17495)

  • Symlink site-packages into pylint venvs when possible. (#17488)

  • Filter coarsened targets to only those that are relevant in pylint runner rule (#17487)

Documentation

  • correct docs: direnv can't save ulimit (#17561)

  • Update team pages for SJ and Dan! (#17534)

  • Fix line breaks in a docs page. (#17527)

  • Clarify how __defaults__ apply to target generators. (#17493)

  • Fix typo in docs: debug-adaptor should be debug-adapter (#17452)

  • Update nuke_if_too_big documentation (#17429)

  • Fix version templating in vcs_version docs (#17423)

pants -

Published by stuhood almost 2 years ago

New Features

  • A --resolve flag, to specify the resolves to export. (Cherry-pick of #17416) (#17461)

User API Changes

  • Deprecate the old export semantics. (Cherry-pick of #17465) (#17466)

Bug fixes

  • Fix memoization of CoarsenedTarget.closure (Cherry-pick of #17516) (#17518)

  • Support parsing targets from additional paths not containing BUILD files. (Cherry-pick of #17451) (#17513)

  • Ensure lockfile target exists before injecting a dependency to it. (Cherry-pick of #17365) (#17505)

  • Ensure correct eq/hash semantics for PythonArtifact. (Cherry-pick of #17484) (#17492)

  • Flip the default for pull on docker_image to False (Cherry-pick of #17459) (#17460)

  • Isolate config seed values from the DEFAULT section. (Cherry-pick of #17474) (#17485)

  • Fix poorly understood stdout redirection issue. (Cherry-pick of #17471) (#17473)

  • Fix propagation of the remote-execution-append-only-caches path (Cherry-pick of #17469) (#17472)

  • Fix dep inference from shuint2_tests targets. (Cherry-pick of #17417) (#17422)

  • Fix EnvironmentName used in test runs (Cherry-pick of #17412) (#17415)

  • Restore debug hints for test execution (Cherry-pick of #17406) (#17407)

Performance

  • Skip loading of local cache data when possible (Cherry-pick of #17495) (#17524)

  • Symlink site-packages into pylint venvs when possible. (Cherry-pick of #17488) (#17491)

  • Filter coarsened targets to only those that are relevant in pylint runner rule (Cherry-pick of #17487) (#17490)

Documentation

  • Fix line breaks in a docs page. (Cherry-pick of #17527) (#17528)

  • Clarify how __defaults__ apply to target generators. (Cherry-pick of #17493) (#17499)

  • Fix version templating in vcs_version docs (Cherry-pick of #17423) (#17425)

pants -

Published by stuhood almost 2 years ago

New Features

  • Add support for batched pytest execution (#17385)

  • Add a batch_size parameter to the test subsystem. (#17361)

  • Replace skip placeholders with real SkipOptions in test subsystems. (#17360)

Plugin API Changes

  • Refactor optional typing in generic partitioning utils. (#17371)

  • Refactor plumbing for test goal to support batched tests. (#17134)

  • Rework partitioning types for more flexibility. (#17288)

Bug fixes

  • Ensure PATH to shims are absolute for the protobuf buf linter. (#17367)

  • Include process execution strategy in Process cache key (#17340)

  • Fix use of --shard with --debug/--debug-adapter in test. (#17321)

  • go: properly handle xtest packages when building (#17307)

  • Retry the streaming portion of downloads, as well as the setup. (#17298)

Performance

  • Implement cancellation of remote processes (#17341)

Documentation

  • Document Synthetic Targets API.(#17330)

  • Initial documentation for Environments (#17096)

  • Add 2.14 blog post link to changelog page. (#17381)

  • Document the existence of the init-pants action. (#17378)

  • Add a section about test to plugin API guide. (#17362)

  • Revise the error message associated with OOM-killed events (#17373)

  • Fix linebreak issues in the targets docs page. (#17364)

  • Fix a nit in the Getting Help docs. (#17295)

pants -

Published by stuhood about 2 years ago

The first stable release of the 2.14.x series, with no changes since the previous release candidate!

pants -

Published by stuhood about 2 years ago

Bug fixes

  • Retry the streaming portion of downloads, as well as the setup. (Cherry-pick of #17298) (#17302)

  • Fix incomplete cherry-pick of #17177. (#17312)

Documentation

  • Fix a nit in the Getting Help docs. (Cherry-pick of #17295) (#17296)
pants -

Published by jsirois about 2 years ago

User API Changes

  • Upgrade Pex to 2.1.108. (Cherry-pick of #17112) (#17120)

  • Upgrade Pex to 2.1.107. (Cherry-pick of #17081) (#17113)

Bug fixes

  • Exit normally from K8S parser with unsupported manifests (Cherry-pick of #17037) (#17143)

  • Fix dep inference with empty lines in multiline imports. (Cherry-pick of #17284) (#17285)

Documentation

  • Fix spurious linebreaks in the CI docs page. (Cherry-pick of #17154) (#17158)

  • Add Marcelo to team page, move Josh Reed to Maintainer (Cherry-pick of #16826) (#17152)

  • Add Doron Somech's proudest contribution (Cherry-pick of #17029) (#17150)

  • Fix Helm K8S parser help message (Cherry-pick of #17091) (#17145)

  • Fix bsp-groups.toml example in documentation (Cherry-pick of #17125) (#17148)

  • Update maintainer job description (Cherry-pick of #17022) (#17111)

  • Update pytest-xdist docs. (Cherry-pick of #17071) (#17072)

pants -

Published by jsirois about 2 years ago

User API Changes

  • Upgrade Pex to 2.1.108. (Cherry-pick of #17112) (#17123)

  • Upgrade Pex to 2.1.107. (Cherry-pick of #17081) (#17121)

  • Upgrade Pex to 2.1.103. (Cherry-pick of #16426) (#17114)

Documentation

  • Fix spurious linebreaks in the CI docs page. (Cherry-pick of #17154) (#17156)

  • Add Marcelo to team page, move Josh Reed to Maintainer (Cherry-pick of #16826) (#17151)

  • Add Doron Somech's proudest contribution (Cherry-pick of #17029) (#17149)

  • Fix bsp-groups.toml example in documentation (Cherry-pick of #17125) (#17147)

  • Update maintainer job description (Cherry-pick of #17022) (#17110)

  • Fix the [python-bootstrap].search_path option name in the docs. (Cherry-pick of #17063) (#17066)

pants -

Published by jsirois about 2 years ago

New Features

  • Optionally export venvs via symlink into the pex_root. (#17130)

  • go: add cgo support for tailor (#17087)

User API Changes

  • Upgrade Pex to 2.1.108. (#17112)

Plugin API Changes

  • Switch LintRequest.name to .tool_subsystem (#17103)

  • Rename/Refactor style_request to better capture intent. (#17084)

Bug fixes

  • Move pyoxidized pants binary out of the main source tree (#16703)

Documentation

  • Generate help info about target_field_name to the docsite. (#17138)

  • Add Aiven to user list. (#17131)

  • Fix bsp-groups.toml example in documentation (#17125)

  • Update maintainer job description (#17022)

pants -

Published by wisechengyi about 2 years ago

New Features

  • Add venv_site_packages_copies field to pex_binary (#17046)

  • Add golangci-lint to go backend (#16994)

  • go: add go-generate goal to run go generate on a package (#16909)

  • Support Java codegen for the OpenAPI backend (#16862)

  • go: render coverage reports as HTML (#16995)

  • Environment-aware subsystems (#16965)

  • Environment sensitive options (#16840)

  • Add retries to NetDownload intrinsic. (#16798)

  • go: add basic support for cgo (#16413)

  • Add support for add-trailing-comma tool (#16776)

User API Changes

  • Upgrade Pex to 2.1.107. (#17081)

  • Restore the deprecated filter goal indefinitely (#17027)

Plugin API Changes

  • Improve usability of the --engine-visualize-to option (#17080)

  • Change fmt plugin schema to allow for targetless formatters (#16980)

  • Renames SubsystemRule() to Subsystem.rules() (#16954)

  • Introduce new schema for lint plugins (#16735)

  • Environment, EnvironmentRequest, and CompleteEnvironment now include Vars in the name (#16851)

  • MockGet expects input_types kwarg, not input_type (#16839)

Bug fixes

  • Fix dirtying of uncacheable nodes (#17079)

  • Make interpreter path expansion cache-correct (#17051)

  • Add python 3.10 to acceptable GCF runtimes (#17028)

  • Don't cache VCS version outside the current pants session. (#17017)

  • Fix Pantsd not properly invalidating when CPPFLAGS and LDFLAGS change (#17009)

  • Add parametrize() support for __defaults__. (#16977)

  • go: prepend $GOROOT/bin to PATH for tests (#16993)

  • Fix for hang with redirected stdio. (#16970)

  • Fix invalid field error message for parametrized fields. (#16911)

  • Fix venv re-population race. (#16931)

  • wait for killed nailgun processes. (#16924)

  • remove override of register_plugin_field (#16919)

  • Only request source roots for PEP-517 deps that belong on the syspath (#16903)

  • Upgrade javaparser, and use a permissive language level to support parsing more code (#16896)

  • docker: upgrade bollard crate for bug fix (#16850)

  • Preserve stdio when a local process times out. (#16841)

Performance

  • Add an optional speculation delay when using a remote cache (#16922)

  • Only use remote cache when cache scope is Always or Successful (#16920)

Documentation

  • Fix Helm K8S parser help message (#17091)

  • Update pytest-xdist docs. (#17071)

  • Fix the [python-bootstrap].search_path option name in the docs. (#17063)

  • Add Doron Somech's proudest contribution (#17029)

  • improve remote cache logging for hit or miss (#16975)

  • Remove bad linebreaks from python-run-goal page. (#16976)

  • Update changelog on docsite with 2.13, 2.14 links (#16918)

  • Add Marcelo to team page, move Josh Reed to Maintainer (#16826)

  • Don't mention a specific version in the manual install instructions. (#16888)

pants -

Published by stuhood about 2 years ago

New Features

  • Add retries to NetDownload intrinsic. (Cherry-pick of #16798) (#16879)

Bug fixes

  • Upgrade javaparser, and use a permissive language level to support parsing more code (Cherry-pick of #16896) (#16904)

  • Preserve stdio when a local process times out. (Cherry-pick of #16841) (#16880)

  • go: analyze imports paths by module to enable multiple go_mod targets (Cherry pick of #16386) (#16799)

Documentation

  • Don't mention a specific version in the manual install instructions (cherrypick of #16888) (#16889)

  • Add IBM, Coinbase, and Astranis case studies (Cherry-pick of #16805) (#16814)

  • Fix broken shortlinks that invoked "docs:" instead of "doc:" (Cherry-pick of #16804) (#16811)

pants -

Published by stuhood about 2 years ago

New Features

  • Force colors from mypy always, strip in pants when --no-colors (Cherry-pick of #16586) (#16808)
pants -

Published by stuhood about 2 years ago

New Features

  • Force colors from mypy always, strip in pants when --no-colors (#16586)

  • Add OpenAPI backend (#16199)

  • go: analyze imports paths by module to enable multiple go_mod targets (#16386)

Bug fixes

  • docker: capture output once after container exits (#16783)

  • docker: lazily initialize docker connection (#16779)

Documentation

  • Add IBM, Coinbase, and Astranis case studies (#16805)

  • Fix broken shortlinks that invoked "docs:" instead of "doc:" (#16804)

  • Add Brand24 to user list. (#16793)

pants -

Published by stuhood about 2 years ago

The first stable release of 2.13.0, with no changes since 2.13.0rc3.

See our blog post for a summary of what's new in Pants 2.13.

pants -

Published by stuhood about 2 years ago

The second stable release of 2.12, with only updates to the docs website.

Documentation

  • Create page of Pants team members and proudest contribs (Cherry-pick of #16676) (#16678)

  • Fix example BSP groups file. (Cherry-pick of #16649) (#16651)

pants -

Published by jsirois about 2 years ago

New Features

  • Add Plugin hook for adding custom additional Docker image tags. (#16077)

  • Add new fmt plugins for build file formatting (#16560)

  • Add buildifier as a BUILD file formatter (#16573)

  • go: add support for test coverage (#16550)

  • Disable 80 col hard wrapping in mypy output (#16488)

  • Allow for automatic use of pytest-xdist (#16499)

  • Add [pyoxidizer].lockfile (#16537)

  • Add [flake8].extra_files to allow configuring plugins like Bandit (#16470)

  • Support 3rd party Helm artifacts in Helm deployments (#16478)

User API Changes

  • Mark [python].requirement_constraints as deprecated (but not planned for removal) (#16606)

  • Add [python-repos].find_links as preferred alias for [python-repos].repos (#16582)

  • Fix that running on a BUILD file expands to all of its targets (#16546)

  • Deprecate [python].only_binary and [python].no_binary in favor of more powerful [python].resolves_to_only_binary and [python].resolves_to_no_binary (#16513)

Plugin API Changes

  • Rename FmtRequest to FmtTargetsRequest (plus some fix refactoring) (#16535)

Bug fixes

  • Auto-detect Helm chart source roots (#16531)

  • Have run run __main__.py for non-zipapp PEXs (#16568)

  • Record RemoteStoreBlobBytesUploaded for all upload strategies, rather than only for large blobs. (#16545)

  • Prevent running N^2 publish processes during deploy goal (#16516)

  • Track Python indexes, find-links, and manylinux in lockfile headers (#16525)

Performance

  • Fix performance for generating lockfiles for pytest and setuptools (#16591)

  • Improve performance of Owners rule (#16563)

Documentation

  • More succint phrasing and better formatting for cli help. (#16549)

  • Document [python].resolves_to_constraints_file and [python].resolves_to_no_binary (#16548)

  • Fix broken link to community page (#16468)