mpandar/laravel-packager

Laravel包创建的命令行工具。

V2.0.1 2018-06-07 10:50 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:55:20 UTC


README

Latest Version on Packagist Total Downloads Build Status StyleCI

此包为您提供了一个简单的工具来设置新包,并让您专注于包的开发而不是模板。

安装

通过Composer

$ composer require mpandar/laravel-packager

如果您没有运行Laravel 5.5(或更高版本),则将服务提供者在config/app.php中添加

JeroenG\Packager\PackagerServiceProvider::class,

如果您在Laravel 5.5+上运行包,包自动发现将处理添加服务提供者的魔法。请注意,自动发现还意味着此包将加载到您的生产环境中。因此,您可以选择禁用自动发现,并在您的AppServiceProvider中放入如下内容

if ($this->app->environment('local')) {
    $this->app->register('JeroenG\Packager\PackagerServiceProvider');
}

可选地,您可以发布配置以提供不同的服务提供者模板。默认模板在此

$ php artisan vendor:publish --provider="JeroenG\Packager\PackagerServiceProvider"

可用命令

New

命令

$ php artisan packager:new myvendor my-package

结果:该命令将为您处理几乎所有事情。它将创建一个包目录,在其中创建供应商和包目录,拉取骨架包,设置composer.json,创建服务提供者,在config/app.php和app的composer.json中注册包。

选项

$ php artisan packager:new myvendor my-package --i
$ php artisan packager:new --i

包将以交互方式创建,允许您在包的composer.json中配置一切,例如许可证和包描述。

备注:新包将基于此自定义骨架

获取 & Git

命令

$ php artisan packager:get https://github.com/author/repository
$ php artisan packager:git https://github.com/author/repository

结果:此命令将在config/app.php和app的composer.json文件中注册包。如果使用packager:git命令,则会克隆整个Git仓库。如果使用packager:get,则包将被下载,不带仓库。这也适用于Bitbucket仓库,但您必须为packager:get命令提供标志--host=bitbucket

选项

$ php artisan packager:get https://github.com/author/repository --branch=develop
$ php artisan packager:get https://github.com/author/repository myvendor my-package
$ php artisan packager:git https://github.com/author/repository myvendor my-package

可以使用--branch选项指定分支。如果您在url后直接指定供应商和名称,则将使用这些而不是url的部分。

测试

命令

$ php artisan packager:tests

结果:Packager将遍历所有维护的包(在packages/中),并将它们的测试发布到tests/packages。为了从包中运行测试,请在phpunit.xml中添加以下内容(在其他测试套件下)

<testsuite name="Packages">
    <directory suffix="Test.php">./tests/packages</directory>
</testsuite>

选项

$ php artisan packager:tests myvendor my-package

备注:如果存在测试文件夹,文件将被复制到Laravel App测试文件夹的专用文件夹中。这允许您轻松使用Laravel的所有测试功能。

列表

命令

$ php artisan packager:list

结果:显示/packages目录中所有包的概述。

移除

命令

$ php artisan packager:remove myvendor my-package

结果:删除包MyVendor\MyPackage,包括其在composer.jsonconfig/app.php中的引用。

发布

命令

$ php artisan packager:publish myvendor my-package https://github.com/myvendor/mypackage

结果:将包MyVendor\MyPackage发布到GitHub,使用提供的url。

检查

命令

$ php artisan packager:check myvendor my-package

结果:将包MyVendor\MyPackage使用SensioLabs安全检查器检查是否存在安全漏洞。

备注:首先需要运行

$ composer require sensiolabs/security-checker

cURL SSL证书问题

结果显示,尤其是在Windows上,由于操作系统缺少有关SSL证书的文件,可能会出现骨骼下载问题。这可以通过打开您的.env文件并在其中添加以下内容来解决:

CURL_VERIFY=false

当然,这意味着安全性会降低,但再次强调,您不应该在生产环境中运行此包。

变更日志

请参阅changelog.md了解最近的变化。

贡献

请参阅contributing.md了解详细信息以及待办事项列表。

致谢

许可证

欧盟公共许可证。请参阅license.md获取更多信息。