lendable / composer-license-checker
Composer许可证检查器
1.2.1
2024-07-02 22:49 UTC
Requires
- php: ~8.2.0 || ~8.3.0
- composer-runtime-api: ^2.2
- symfony/console: ^5.4 || ^6.0 || ^7.0
- symfony/process: ^5.4 || ^6.0 || ^7.0
Requires (Dev)
- ergebnis/composer-normalize: ^2.43.0
- lendable/phpunit-extensions: ^0.3
- php-cs-fixer/shim: ^3.59.3
- phpstan/phpstan: ^1.11.6
- phpstan/phpstan-deprecation-rules: ^1.2.0
- phpstan/phpstan-phpunit: ^1.4.0
- phpstan/phpstan-strict-rules: ^1.6.0
- phpunit/phpunit: ^11.2.5
- rector/rector: ^1.2.0
- symfony/filesystem: ^6.2
- dev-main
- 1.2.1
- 1.2.0
- 1.1.1
- 1.1.0
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.1.1
- 0.1.0
- dev-renovate/composer-runtime
- dev-renovate/composer-dev
- dev-gh-readonly-queue/main/pr-372-797d20ac149a8ad5baf401d5fce8e903698adf1a
- dev-gh-readonly-queue/main/pr-371-671ab8791f4f4d8c883f59cf157f525f614f70c3
- dev-renovate/lock-file-maintenance
- dev-php-8-4
This package is auto-updated.
Last update: 2024-09-21 07:01:43 UTC
README
此库提供了一套工具,用于检查依赖项的许可信息,以确保符合开源许可并最大限度地减少法律风险。它可以帮助您跟踪正在使用的依赖项的许可证,并在其使用方面做出明智的决定。
安装
composer require --dev lendable/composer-license-checker
使用方法
在项目根目录中创建一个配置文件,.allowed-licenses.php
(或者您可以使用-a / --allow-file
选项来指定配置文件的路径)。
<?php declare(strict_types=1); use Lendable\ComposerLicenseChecker\LicenseConfigurationBuilder; return (new LicenseConfigurationBuilder()) ->addLicenses( 'MIT', 'BSD-2-Clause', 'BSD-3-Clause', 'Apache-2.0', // And other licenses you wish to allow. ) ->addAllowedVendor('vendor_name') // Allow any license from a specific vendor, i.e. your own company. ->addAllowedPackage('vendor_name/foo_bar') // Allow a specific package regardless of licensing. ->build();
./vendor/bin/composer-license-checker [--allow-file path/to/configuration_file.php]
建议您将其集成到CI管道中来自动化检查。
许可信息提供者
此工具可以使用两个不同的来源来检索许可信息:使用composer licenses
命令和解析由Composer创建的installed.json
文件。
使用installed.json
提供者(默认)
指定--provider-id=json
。
工具将解析由Composer创建的包含所有相关信息的installed.json
文件。这不需要在工具执行的环境中安装Composer。然而,由于此文件是Composer的内部文件,因此未来可能会更改其模式。如果您遇到问题,请尝试使用composer licenses
提供者并报告问题。
使用composer licenses
提供者
指定--provider-id=licenses
。
composer licenses
命令提供了一个(可能)更稳定的API来检索许可信息。然而,这要求工具执行composer
命令,因此它必须在工具运行的环境中安装。