跳转到主要内容

编写Pants插件的测试支持。

项目描述

Pants 是一个由 Python 和 Rust 编写的 Apache2 许可证的构建工具。

最新文档可以在 pantsbuild.org 找到。

2.17.x 版本系列

❗❗❗ 此项目不再通过 PyPI 发布,而是通过 GitHub 发布。请参阅 https://github.com/pantsbuild/pants/releases

新增内容

个人和公司现在可以 资助 Pants

Pants 是一个开源项目,不由任何公司或组织拥有或控制,并且确实产生了一些费用。这些费用由 Pants Build 管理,这是一个为这一目的而成立的非营利组织。该非营利组织的唯一收入来源是使用 Pants 的个人和公司的赞助。

我们为公司提供 正式的赞助层级,以及通过 GitHub 的个人赞助。

总体

现在推荐使用 pants 启动器二进制文件(即 scie-pants)来运行 Pants。在存储库中使用 ./pants 脚本已被弃用。

pants 启动器具有许多优点,例如

  • 自动下载并维护运行 Pants 所需的 Python 发行版
  • 可以从存储库中的任何目录运行 pants,而不仅仅是构建根目录
  • 启动命令时的开销大大减少(高达 4-5 倍)

有关如何迁移到 pants 启动器二进制文件的更多信息,请参阅 Pants 安装说明

与此相关,pants 的分发模型正在发生变化,2.17 将是最后一个将 pantsbuild.pants 软件包发布到 PyPI 的版本。

  • 请使用 pants_requirements 目标 安装插件所需的软件包,而不是 python_requirement 或类似的。
  • 通用(跨平台)的 pants PEX 软件包现在发布到 GitHub 发布。对于未来的版本,将附加更小的按平台 PEX 软件包。

性能

如上所述,新的启动器二进制文件减少了启动开销。

大文件现在作为独立的磁盘文件缓存,而不是直接存储在 pants 用于缓存的内部数据库中(但仍然位于 ~/.cache/pants/lmdb_store 目录下)。这提高了对这些文件的操作性能,尤其是在缓存目录和沙盒临时目录位于同一文件系统上时,允许创建硬链接。

后端

Python

Python 依赖项现在通过在 Rust 中实现的固有规则进行分析,以提高性能,优于之前的 Python 实现的规则。有关性能改进的讨论,请参阅 #18854

导出的可变虚拟环境现在可以包括 PEP-660 的可编辑安装 python_distribution 目标。要为此解析启用此功能,请将解析的名称添加到 pants.toml 中的 [export].py_editables_in_resolves 列表中。请参阅 #18639 了解 Pants 的 PEP-660 实现的详细信息。

地下默认使用的 pip 已从 20.3.4 更改为 23.1.2。这个更新的 pip 在许多情况下有更好的依赖解析性能,但可能比早期的 pip 给出不同的结果。当然,这些结果在意义上仍然是正确的,因为它们将兼容您的需求和约束。

python_awslambdapython_google_cloud_function 目标现在支持云提供商推荐的新 'zip' 布局。这种布局比现有的 Lambdex 布局具有更小的包和更快的冷启动,将在 2.18 中成为默认设置。请参阅 有关 python_awslambda 的迁移文档有关 python_google_cloud_function 的迁移文档

[python].interpreter_constraints 选项的默认值在 2.16 中已被弃用,现在已被删除:pants.toml 必须提供此选项。如果您可以,我们建议限制为单个解释器次要版本,例如:interpreter_constraints = ['==3.11.*']。有关更多详细信息,请参阅 解释器兼容性文档

Docker

Docker 后端现在支持通过 DOCKER_HOSTDOCKER_CONFIGDOCKER_CERT_PATH 环境变量进行注册表认证。

新功能:JavaScript(实验性!)

由于 Tobias Nilsson 和 Theo Ribeiro 的持续努力,Pants 现在对 JavaScript 具有非常早期的实验性支持。请注意,JavaScript 后端仍然不完整,正在积极开发中,并且可能存在关键错误。尽管如此,Pants 维护者仍欢迎社区提供的任何反馈,以帮助指导我们的开发工作。

支持的目标是

  • test:允许您通过您选择的包管理器安装的运行程序运行测试。
  • package 目标,要么运行一个定制的 package.json 脚本来生成通过 node_build_script 生成的工件,要么通过 npm_distribution 目标打包用于 npm-registry 发布的 tarball。
  • tailor:为 *.js*.test.jspackage.json 文件生成构建文件目标。
  • generate-lockfile:在项目的包管理器格式中创建 lockfile。

后端支持 corepack 提供的所有包管理器。yarn@v2PlugNPlay 不受支持。

启用 pants.backend.experimental.javascript 后端以尝试此支持。对于遇到的任何问题,请 提交问题,并关注 GitHub 上的稳定化工单

新功能:Taplo TOML 格式化器

Pants 现在支持 Taplo TOML 格式化器。启用 pants.backend.tools.taplo 后端以添加此支持。

插件 API 变更

规则现在应通过 Get 的新单参数形式请求不需要输入类型的输出类型。例如,规则现在可以编写 await Get(ChosenLocalEnvironmentName)。某些仅存在以解决先前缺乏此类语法的问题的请求类型现在已被弃用,以支持单参数 Get() 形式。

现在已弃用 PythonBinary 类型,请改用 PythonBuildStandalone


2.17.1(2023 年 11 月 10 日)

是 2.17.x 系列的第二个稳定版本,自上一个 rc 版本以来仅进行了文档更改!

2.17.1rc3(2023 年 10 月 28 日)

错误修复

  • 添加了对异步文件打开的最佳努力限制,以减少文件句柄数量( cherry-pick #20055)(#20078)

2.17.1rc2(2023 年 10 月 17 日)

错误修复

  • 修复了收集具有覆盖率 Go 构建请求的算法( cherry-pick #20030)(#20033)

  • docker_image:必须不为空的 image_tags 字段( cherry-pick #19980)(#19991)

文档

  • 文档:移除 2.15 示例配置(#19995 cherry-pick)。

2.17.1rc1(2023年10月06日)

错误修复

  • 支持在包含环境目标的同一 BUILD 文件中使用 __defaults__。(#19446 cherry-pick)

  • 为 M1 支持,从 vscode-shellcheck 获取 shellcheck(#19945 cherry-pick)

  • 在 write_digest 中立即使写入的文件无效(#19903 cherry-pick)

  • 修复由于同一设备上的多个挂载导致的“无法创建硬链接”错误(#19894 cherry-pick)

  • yamllint 后端添加缺失的 __init__.py 文件(#19899 cherry-pick)

文档

  • 将 Tom 和 Gautham 添加到贡献者页面(#19955 cherry-pick)

  • 从文档中删除对 PyPI/pantsbuild.pants 轮子的引用(#19924 cherry-pick)

2.17.1rc0(2023年9月20日)

新功能

  • with contextlib.suppress(ImportError) 弱化导入(#19293 cherry-pick)

错误修复

  • pantsd 指纹功能移植到 Rust,并从本地客户端验证(#19833 cherry-pick)

  • 将 register.py 添加到 pants bin 依赖项的附加目录(#19848 cherry pick)

  • 修复命名空间包的全局报告覆盖率(#19821 cherry-pick)

  • 允许请求 TargetRootsToFieldSets 的请求者关闭二级所有权警告(#19721 cherry-pick)

性能

  • 移除 Paths 的备忘录以减少内存使用(#19689 cherry-pick)

文档

  • 文档:移除工具链引用(cherrypick #19508)

  • 文档:改进全局选项 'PANTS_CONCURRENT' 的帮助字符串(#19822 cherry-pick)

  • 修复文档(InitialConfiguration)go 后端(#19806 cherry-pick)

  • 修复 Lambda 文档中打字错误的工件名称(#19739 cherry-pick)

  • 更新文档更改日志以包括 2.17.x(#19729 cherry-pick)

2.17.0(2023年8月29日)

该系列的首个稳定版本,自上一个 rc 以来没有变化!

2.17.0rc5(2023年8月26日)

错误修复

  • 从默认映射中删除 tensorboard 映射(#19673 cherry-pick)

文档

  • 回滚到 2.17:文档:在插件 Goal 示例中设置 EnvironmentBehavior(#19590)

2.17.0rc4(2023年8月23日)

用户 API 变更

  • 需要 scie-pants 0.9.2 或更高版本,用于新的分发模型(#19654 cherry-pick)

  • 将 Python 3.12 添加到默认解释器宇宙(#19641 cherry-pick)

错误修复

  • 让 Pants 创建 immutable_inputs 基父级(#19646 cherry-pick)

  • 尽可能使用硬链接为 mypy 缓存(#19633 cherry-pick)

  • 撤销 pyenv 安装将文件标记为 RO(#19645 cherry-pick)

  • 使 mypy 缓存移动真正原子化(#19610 cherry-pick)

  • 为 Docker-env PBS 使用命名缓存(#19611 的 cherry-pick)(#19616)

  • 为 Rust 依赖推断添加路径到缓存键,针对相对导入(#19630 的 cherry-pick)(#19640)

文档

  • 回滚到 2.17:修复死链接文档(#19546)(#19659)

  • 在 2.17 的 "新增功能" 中添加额外的提及和调整(#19629 的 cherry-pick)(#19642)

  • 文档:修复 setting-up-ideinterpreter-compatibility 文档中的代码示例(#19624 的 cherry-pick)(#19639)

  • 文档:修复 Markdown 不一致之处(#19363 的 cherry-pick)(#19622)

  • 文档:将 2.16 添加到变更日志(#19589 的 cherry-pick)(#19597)

2.17.0rc3(2023 年 8 月 13 日)

用户 API 变更

  • 升级默认 pip 到 v23.1.2。(#19538 的 cherry-pick)(#19541)

错误修复

  • Scala:在依赖推断中支持 Enum(#19588 的 cherry-pick)(#19593)

  • 修复新的工具锁文件弃用消息。(#19565)(#19565)

  • 修复 golangci-lint 运行脚本(#19015 的 cherry-pick)(#19473)

文档

  • v2.17.x 的 "新增功能" 初稿(#19168 的 cherry-pick)(#19595)

  • 在文档中添加 ruff,调整 pyugprade,autoflake(#19555 的 cherry-pick)(#19576)

  • 捕获 Google 艺术品注册表的陷阱(#19568 的 cherry-pick)(#19570)

  • 停止在 CI 文档中引用 ~/.cache/pants/setup(#19554 的 cherry-pick)(#19561)

  • 可见性:文档修复和说明。(#19438 的 cherry-pick)(#19494)

2.17.0rc2(2023 年 7 月 14 日)

错误修复

  • 可见性:修复使用目标类型在详细规则选择器中的问题(#19437 的 cherry-pick)(#19456)

  • 使用 "package_name" 变量修复 UnboundLocalError。(#19433 的 cherry-pick)(#19453)

  • 修复 Helm 文档示例(#19271 的 cherry-pick)(#19313)

文档

  • 调整获取帮助文档(#19418 的 cherry-pick)(#19419)

  • 细化 run_shell_command 文档(#19413 的 cherry-pick)(#19421)

  • 在 docsite 中添加赞助页面(#19412 的 cherry-pick)(#19416)

  • 从存储库中的 Markdown 文件获取文档标题(#19311 的 cherry-pick)(#19321)

  • 文档:调整缓存信息的布局,移除 toolchain :( 和关于 bazel-remote-cache 的附加信息(#19299 的 cherry-pick)(#19329)

2.17.0rc1(2023 年 6 月 8 日)

插件 API 变更

  • 弃用使用 PythonBinary(#19209 的 cherry-pick)(#19222)

错误修复

  • 改进 Helm 单元测试中额外文件的处理(#19263 的 cherry-pick)(#19268)

  • 将 taplo 添加到发布(#19258 的 cherry-pick)(#19259)

  • 在 Rust 依赖推断解析器中处理 from foo import * 通配符导入(#19249 的 cherry-pick)(#19255)

  • 修复次要所有权警告语义(#19191 的 cherry-pick)(#19224)

2.17.0rc0(2023 年 6 月 1 日)

用户 API 变更

  • 弃用 python 工具上的 version/extra_requirements 选项。(#19204 的 cherry-pick)(#19211)

  • Terraform:MacOS 二进制文件的哈希已更改(#19004 的 cherry-pick)(#19136)

  • 为 Lambda/GCF 实现布局="zip",弃用 lambdex(#19076 的 cherry-pick)(#19120)

  • 弃用 [mypy].extra_type_stubs 和其锁文件。(#19084 的 cherry-pick)(#19087)

  • 提前弃用工具 --export 选项。(#19079 的 cherry-pick)(#19083)

错误修复

  • 发现 Scala REPL 主类和坐标(#19189 的 cherry-pick)(#19203)

  • 在尝试安装之前清理 Pyenv 安装目录。(#19193 的 cherry-pick)(#19197)

  • 在 Rust Python dep 推理中避免在 from .. import 父级导入中使用额外的 .(#19175 的 cherry-pick)(#19177)

  • 不要尝试回收临时文件(#19103 的 cherry-pick)(#19113)

  • 当添加前言时,如果已经存在 shebang,则保留它。(#19133 的 cherry-pick)(#19138)

  • 在 S3 URL 处理器后端解决 botocore 的 bug(#19056 的 cherry-pick)(#19111)

文档

  • tobni 添加到维护者名单中(#19195 的 cherry-pick)(#19207)

  • 调整 FaaS 文档以支持 layout = "zip"(#19180 的 cherry-pick)(#19198)

  • s3 URL 处理器中添加 botocore-a-la-carte 参考(#19055 的 cherry-pick)(#19109)

  • 将 bazel-remote 添加到兼容远程缓存列表中(#19041 的 cherry-pick)(#19115)

  • 修复指向 pants_from_sources 脚本的文档链接。(#19088 的 cherry-pick)(#19091)

2.17.0a1(2023年5月19日)

由于基础设施问题,2.17.0a1 是发布 2.17.0a0 的第二次尝试。

2.17.0a0(2023年5月18日)

注意:由于基础设施问题,2.17.0a0 没有发布到 PyPI。

新功能

  • 添加工作单元日志插件(#18984)

  • javascript: 支持 yarn@v1(#18928)

  • javascript: 支持 Node.js 子路径导入(#18934)

  • 添加 Taplo toml 格式化工具(#18865)

  • 将 Pants 本地客户端包含在发布轮盘中(#18957)

  • 在固有方式中提取 Python 依赖项(#18854)

用户 API 变更

  • 不要为所有 SHA 发布轮盘,并从 Github Actions 发布到 PyPI。(#19028)

  • 在工具需求中支持 Python requirement target addrs。(#19014)

  • javascript: 添加显式的 npm_distribution 目标而不是与 node_package 相耦合(#18925)

  • 缩短没有 --resolveexport 的弃用期限。(#19000)

  • 升级 Pex 到 2.1.137。(#19003)

  • 移除 anonymous-telemetry 的底层实现(#18952)

插件 API 变更

  • 将 Django 迁移推理从 PythonDependencyVisitorRequest 转移(#19008)

  • fmtrequest -> abstractfmtrequest(#18935)

错误修复

  • run_shell_command 中使用 {bin_name()} run 作为 $0(#19020)

  • 使 DigestSubset 链接感知(#18963)

  • javascript: 不要在 pnpm 缓存路径中添加字面量 {chroot}(#18921)

文档

  • 阐明如何在 run_in_shell_command 中正确设置 $0(#19019)

  • 2.16.x 的文档调整(《https://github.com/pantsbuild/pants/pull/19009》#19009)

  • 修复文档中的示例 first_party_dependency_version_scheme(《https://github.com/pantsbuild/pants/pull/18993》#18993)

2.17.0.dev5(2023年5月8日)

新功能

  • javascript: 实现 dependency inference 的禁用并提高鲁棒性(《https://github.com/pantsbuild/pants/pull/18931》#18931)

  • javascript: 添加对 pnpm 包管理器的支持(《https://github.com/pantsbuild/pants/pull/18864》#18864)

  • 及时清理正在运行的节点,而不是中断它们(《https://github.com/pantsbuild/pants/pull/18855》#18855)

  • javascript: 支持 Nodejs 测试批次(《https://github.com/pantsbuild/pants/pull/18742》#18742)

  • 新的 API 类型:CurrentExecutingGoals(《https://github.com/pantsbuild/pants/pull/18788》#18788)

用户 API 变更

  • javascript: 在 node_build_script 目标中支持 package 目标(《https://github.com/pantsbuild/pants/pull/18926》#18926)

  • 弃用在不使用 scie-pants 的情况下运行 Pants(《https://github.com/pantsbuild/pants/pull/18833》#18833)

  • 升级 Pex 到 2.1.135(《https://github.com/pantsbuild/pants/pull/18876》#18876)

插件 API 变更

  • 删除多余的 PythonToolBase/JvmToolBase 功能(《https://github.com/pantsbuild/pants/pull/18805》#18805)

错误修复

  • 确保在 dist/ 中完全替换打包的工件(《https://github.com/pantsbuild/pants/pull/18930》#18930)

  • 在计算 resolve 名称时使用集合(《https://github.com/pantsbuild/pants/pull/18939》#18939)

  • 在计算 resolve 名称时使用集合(《https://github.com/pantsbuild/pants/pull/18939》#18939)

  • javascript: 处理放在仓库根目录的 package.json(《https://github.com/pantsbuild/pants/pull/18919》#18919)

  • 实际运行弃用的目标修复器(《https://github.com/pantsbuild/pants/pull/18860》#18860)

  • 在创建符号链接时,如果有任何现有条目则删除(《https://github.com/pantsbuild/pants/pull/18873》#18873)

  • 确保将非歧义参数/环境变量注入到 PEXes(《https://github.com/pantsbuild/pants/pull/18861》#18861)

  • 在 run_shell_command 中正确处理 workdir="."/default(《https://github.com/pantsbuild/pants/pull/18840》#18840)

  • 将 adhoc_tool(stdout/stderr="...") 写入相对于工作目录,支持绝对路径(《https://github.com/pantsbuild/pants/pull/18814》#18814)

  • 修复 StreamingWorkunitContext.get_expanded_specs()(《https://github.com/pantsbuild/pants/pull/18713》#18713)

  • 帮助后端:除非是高级帮助,否则仅列出启用的实验性后端(《https://github.com/pantsbuild/pants/pull/18821》#18821)

  • 将构建根目录用作 shell_command(workdir="") 的工作目录(《https://github.com/pantsbuild/pants/pull/18813》#18813)

  • pants.backend.url_handlers.s3 包含在 pants 分发中(《https://github.com/pantsbuild/pants/pull/18826》#18826)

性能

  • 优化 TargetFieldSet 操作(《https://github.com/pantsbuild/pants/pull/18917》#18917)

  • 处理一些 noqa: PNT30 await-in-loops(《https://github.com/pantsbuild/pants/pull/18831》#18831)

文档

  • 更新违反 CoC 报告的响应团队的身份(《https://github.com/pantsbuild/pants/pull/16410》#16410)

  • 修复 adhoc output_... 示例,记录 run_shell_command 的工作目录更改(《https://github.com/pantsbuild/pants/pull/18894》#18894)

  • 添加帮助字符串中缺少的撇号(《https://github.com/pantsbuild/pants/pull/18907》#18907)

  • 将 Salesforce 添加到用户列表(《https://github.com/pantsbuild/pants/pull/18891》#18891)

  • 更新关于自托管的动作运行器的故障排除文档(《https://github.com/pantsbuild/pants/pull/18900》#18900)

  • 感谢 ARM 程序为我们提供 CI 资源(《https://github.com/pantsbuild/pants/pull/18892》#18892)

  • 特性:更新 installation.md(《https://github.com/pantsbuild/pants/pull/18836》#18836)

  • 删除关于将 readme.com 作为编辑文档方式的引用(《https://github.com/pantsbuild/pants/pull/18863》#18863)

  • 修复第三方示例中库名拼写错误(《https://github.com/pantsbuild/pants/pull/18862》#18862)

  • 更新mypy和pytest文档,以引用install_from_resolve(#18791

  • 在用法帮助中将symbols作为主题。(#18825)

  • docs:重新排序贡献者步骤,rustup对于git钩子安装正常工作是必需的(#18828

2.17.0.dev4 (2023年4月23日)

新功能

  • javascript:使用corepack管理npm版本(#18748

  • python_distribution可编辑安装在exports中(#18639

用户 API 变更

  • 默认使用整个工具锁文件。(#18793)

  • 升级Pex到2.1.134。(#18785

  • 使用resolve的ICs作为工具。(#18776

  • BinaryPath工厂方法中使用Self回滚。(#18763

  • 弃用“二级所有权”语义(#18737

  • 扩展ruff版本范围并升级它(#18707

插件 API 变更

  • 允许BinaryPaths封闭其类型。(#18760

  • 为工具设置中心默认ICs。(#18714

错误修复

  • OverridesField.compute_value()必须返回一个可哈希的值。(#18787

  • 去重图错误。(#18770

  • 在重命名不可变存储文件之前将元数据刷新到磁盘(#18768

  • 在删除文件时清除FSDB材料化缓存(#18747

  • lint/test中批量设置字段时,使用地址作为稳定的键(#18725

  • 修复未定义defaultFieldrepr。(#18719

  • 添加ruff代码检查规则(#18716

  • javascript:在nodejs沙盒中使用二进制模拟器(#18682

文档

  • 改进无效目标/目标字段的错误位置。(#18366

  • 添加如何配置Docker Desktop以使用docker_environment的信息(#18786

  • 更新代码检查器文档,以引用install_from_resolve#18781

  • docs:修复requirements-overrides代码片段中的错别字(#18750

  • 编辑Python发布文档以提高清晰度。(#18718

2.17.0.dev3 (2023年4月10日)

新功能

  • Helm:在Chart模板中添加对DNS查找的支持(#18670

  • pants_ignore中包含全局Git忽略文件和.git/info/exclude以忽略文件监视(#18649

用户 API 变更

  • 删除弃用的默认ICs。(#18627

插件 API 变更

  • 移动/重命名:goals/setup_py.py -> {util_rules,goals}/package_dists.py + subsystems/setup_py_generation.py#18702

  • 弃用一些Request类型,以支持仅有一个参数的Get()#18655

  • 添加对不带输入参数的Get(MyType)语法的支持(#18648

错误修复

  • pex_binary RunRequest添加Python解释器的完全限定路径(#18699

  • std::io::Error隐式转换为StoreError#18696

  • 为远程存储调用添加超时,并调整缓存超时的名称。(#18695

  • adhoc_tool 真正尊重 extra_env_vars 字段;添加测试(#18692

  • 文档:描述规则编译过程中相关的错误模式(#18663

  • 将支持的 Pex 最小版本提升到 v2.1.129。(#18678

  • 修复在较老的 macOS 上创建 JVM 资源 JAR 的问题(#18673

  • javascript:在 JavaScript 规则中不读取未映射的 package.json 文件(#18523

文档

  • 添加 PEP 621 pyproject.toml 文件文档(#18672

  • 记录多个用户遇到的 AWS CDK 问题。(#18656

  • 在没有激活相关后端的情况下使用目标时出错(#18420

  • 改进锁文件消费错误消息。(#18638

  • 从通用先决条件页面中删除一个特定于 Python 的提示。(#18637

  • 使 UUID 消息更清晰(#18561

2.17.0.dev2(2023 年 3 月 31 日)

新功能

  • javascript:测试带有已安装包管理器测试运行器的目标(#18554

  • 公开 PANTS_VERSION 并使其可字符串比较(#18573

用户 API 变更

  • 升级 Pex 到 2.1.131。(#18626

错误修复

  • 确保在清理沙盒之前退出沙盒化的进程(#18632

  • 通过 create_pex_from_targets 将锁文件/内部代码全部接入(#18622

  • 缩小 pex_binary 文件警告(#18619

  • 修复 PexPEX 调用(#18610

  • 改进 docker auth 的调试信息,并公开一个环境变量。(#18599

性能

  • 每次只将不可变文件材料化一次(#18600

文档

  • 修复应该是一个 f-string 的字符串(#18608

  • 修复某些文档和帮助字符串中的 ./pantspants。(#18596

2.17.0.dev1(2023 年 3 月 24 日)

新功能

  • engine:在将散列写入磁盘时添加一个选项来清除目标目录(#18534

  • javascript:通过二进制路径、PATH、asdf 或 nvm 进行 NodeJS 引导(#18520

  • javascript:初始 NPM 支持(#18326

  • 始终提供 Python-for-Pants 脚本(#18433

用户 API 变更

  • 升级 Pex 到 2.1.130。(#18576

  • 弃用旧样式的自定义工具锁文件。(#18494

  • 允许用户解决与同名工具锁文件的重叠问题(#18481

错误修复

  • 确保符号链接的导出 venv 存在且有效。(#18575

  • 对于尝试使用带有 docker 环境的 test --debug 进行快速失败处理(#18560

  • 声明 ruff 输出为文件。(#18551

  • 添加对 Docker 仓库认证的支持(#18541

  • 修复带有标记的 URL 的 Poetry req 综合问题。(#18535

  • 在 macOS 上使用 fclonefileat 重新启用硬链接。 (#18501)

性能

  • 在新存储位置实例化“大”文件并在沙箱中创建硬链接 (#18153)

  • 完成 Process 输入的实例化并行化 (#18469)

文档

  • 第一次尝试编写 adhoc_tool 文档 (#18531)

  • 将 Tobias Nilsson 添加到团队页面 (#18571)

  • 文档:修复帮助中的 f-string (#18539)

  • 明确说明 experimental_ shell 函数已弃用并替换 (#18529)

  • 更新关于使用 scie-pants 从源运行 pants 的文档 (#18513)

  • 将 ExoFlare 添加到用户列表 (#18496)

  • 修复文档中 pantsbuild/example-python 链接的错误格式 (#18484)

  • 更新 scie-jump 缓存目录引用 (#18485)

  • 将锁文件文档扩展为单独的页面 (#18471)

2.17.0.dev0 (2023 年 3 月 10 日)

新功能

  • 在进程元数据上公开环境信息 (#18458)

  • 支持在任何项目位置运行 pants (#18412)

用户 API 变更

  • 审核和更新 Python 工具的要求 (#18431)

  • 升级 Pex 到 2.1.128 (#18453)

错误修复

  • pantsd 中保留环境变量以允许 Docker 认证 (#18465)

  • 仅在前置文件中公开 from typing import * 的等价物 (#18452)

  • 支持前置文件中的类型提示 (#18442)

  • 合成的锁文件目标在缺少锁文件时永远不会出错 (#18406)

  • xdot 可视化的修复 (#18421)

项目详情


发布历史 发布通知 | RSS 源

下载文件

下载您平台对应的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分布

此版本没有可用的源代码分布文件。请参阅生成分布存档的教程。

构建分布

pantsbuild.pants.testutil-2.17.1-py3-none-any.whl (32.0 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面