Skip to content

Latest commit

 

History

History
147 lines (110 loc) · 4.32 KB

readme.md

File metadata and controls

147 lines (110 loc) · 4.32 KB

Laravel Packager

Latest Version on Packagist Total Downloads Software License

This package provides you with a simple tool to set up a new package and it will let you focus on the development of the package instead of the boilerplate.

Installation

Add repository in Composer.json

///
"repositories": [
        {
            "type": "vcs",
            "url": "http://github.com/irvine48/laravel-packager"
        }
],
///

///
"require": {
        "jeroen-g/laravel-packager": "dev-master"
},
///

Then run

$ composer update

Then add the service provider in config/app.php:

JeroenG\Packager\PackagerServiceProvider::class,

Available commands

New

Command:

$ php artisan packager:new MyVendor MyPackage

Result: The command will handle practically everything for you. It will create a packages directory, creates the vendor and package directory in it, pulls in a skeleton package, sets up composer.json, creates a service provider, registers the package in config/app.php and the app's composer.json.

Options:

$ php artisan packager:new MyVendor MyPackage --i
$ php artisan packager:new --i

The package will be created interactively, allowing to configure everything in the package's composer.json, such as the license and package description.

Remarks: The new package will be based on league/skeleton, plus a Laravel service provider.

Get & Git

Command:

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

Result: This will register the package in config/app.php and in the app's composer.json file. If the packager:git command is used, the entire Git repository is cloned. If packager:get is used, the package will be downloaded, without a repository.

Options:

$ php artisan packager:get https://github.com/author/repository --branch=develop
$ php artisan packager:get https://github.com/author/repository MyVendor MyPackage
$ php artisan packager:git https://github.com/author/repository MyVendor MyPackage

It is possible to specify a branch with the --branch option. If you specify a vendor and name directly after the url, those will be used instead of the pieces of the url.

Tests

Command:

$ php artisan packager:tests

Result: Packager will go through all maintaining packages (in packages/) and publish their tests to tests/packages.

Options:

$ php artisan packager:tests MyVendor MyPackage

Remarks: If a tests folder exists, the files will be copied to a dedicated folder in the Laravel App tests folder. This allows you to use all of Laravel's own testing functions without any hassle.

List

Command:

$ php artisan packager:list

Result: An overview of all packages in the /packages directory.

Remove

Command:

$ php artisan packager:remove MyVendor MyPackage

Result: The MyVendor\MyPackage package is deleted, including its references in composer.json and config/app.php.

Issues with cURL SSL certificate

It turns out that, especially on windows, there might arise some problems with the downloading of the skeleton, due to a file regarding SSL certificates missing on the OS. This can be solved by opening up your .env file and putting this in it:

CURL_VERIFY=false

Changelog

Please see changelog.md for what has changed recently.

Contributing

Please see contributing.md for details.

Credits

License

The EU Public License. Please see license.md for more information.