zalas/toolbox

帮助发现和安装工具

维护者

详细信息

github.com/jakzal/toolbox

源代码

问题

资助包维护!
jakzal

安装: 66

依赖项: 0

建议者: 0

安全: 0

星星: 185

关注者: 4

分支: 28

开放问题: 8

类型:项目

v1.84.0 2024-08-05 20:43 UTC

This package is auto-updated.

Last update: 2024-09-03 21:01:51 UTC


README

Build Status Build Status

帮助发现和安装工具。

用例

Toolbox 始于一个简单的脚本,在phpqa docker镜像中。它的目的是在构建docker镜像时安装一系列工具,这仍然是它的主要目标。为了简化维护并启用新的用例,它已被提取为独立的项目。

可用工具

已移除工具

安装

最新版本获取toolbox.phar。以下命令应该可以完成任务

curl -Ls https://github.com/jakzal/toolbox/releases/latest/download/toolbox.phar -o toolbox && chmod +x toolbox

用法

列出可用工具

./toolbox list-tools

按标签筛选工具

要排除某些工具的列表,可以添加多个--exclude-tag选项。可以使用--tag选项按标签筛选工具。

./toolbox list-tools --exclude-tag exclude-php:8.2 --exclude-tag foo --tag bar

安装工具

./toolbox install

在自定义目录中安装工具

默认情况下,工具安装在/usr/local/bin目录中。要在其他位置执行安装,请将--target-dir选项传递给install命令。另外,要更改composer包安装的位置,请导出COMPOSER_HOME环境变量。

mkdir /tools
export COMPOSER_HOME=/tools/.composer
export PATH="/tools:$COMPOSER_HOME/vendor/bin:$PATH"
./toolbox install --target-dir /tools

目标目录也可以使用TOOLBOX_TARGET_DIR环境变量配置。

试运行

要仅查看将要执行的命令,请使用试运行模式

./toolbox install --dry-run

按标签筛选工具

要排除某些工具的安装,可以添加多个--exclude-tag选项。可以使用--tag选项按标签筛选工具。

./toolbox install --exclude-tag exclude-php:8.2 --exclude-tag foo --tag bar

测试已安装的工具是否可用

./toolbox test

试运行

要仅查看将要执行的命令,请使用试运行模式

./toolbox test --dry-run

按标签筛选工具

要排除某些工具的测试命令,可以添加多个--exclude-tag选项。可以使用--tag选项按标签筛选工具。

./toolbox test --exclude-tag exclude-php:8.2 --exclude-tag foo --tag bar

工具定义

默认情况下,以下文件用于加载工具定义

  • resources/pre-installation.json
  • resources/architecture.json
  • resources/checkstyle.json
  • resources/compatibility.json
  • resources/composer.json
  • resources/deprecation.json
  • resources/documentation.json
  • resources/linting.json
  • resources/metrics.json
  • resources/phpstan.json
  • resources/psalm.json
  • resources/refactoring.json
  • resources/security.json
  • resources/test.json
  • resources/tools.json

可以通过传递--tools选项(复数)从自定义文件加载定义

./toolbox list-tools --tools path/to/file1.json --tools path/to/file2.json

工具定义位置也可以通过TOOLBOX_JSON环境变量指定

TOOLBOX_JSON='path/to/file1.json,path/to/file2.json' ./toolbox list-tools

工具标签

可以通过标签对工具进行分组和筛选。

以下标签具有特殊含义

  • pre-installation - 这些工具将在安装其他任何工具之前安装。
  • exclude-php:8.1exclude-php:8.2等 - 用于排除在指定PHP版本上的安装。

贡献

请阅读贡献指南以了解如何为此项目做出贡献。请注意,该项目以贡献者行为准则发布。通过参与此项目,您同意遵守其条款。