aoe / composer-satis-builder
Complementary tool to Satis for updating the satis.json 'require' key from the project composer.json.
Installs: 283
Dependents: 0
Suggesters: 0
Security: 0
Stars: 29
Watchers: 33
Forks: 7
Open Issues: 0
Requires
- php: >=5.5.0
- symfony/console: 2.7.*
Requires (Dev)
- phpunit/phpunit: 4.7.*
This package is auto-updated.
Last update: 2022-09-15 22:52:10 UTC
README
Complementary tool to Satis for updating the satis.json "require" key from the project composer.json.
This is particularly useful if you are mirroring for git repositories and package zip files (dist files).
Problem description
If you use in satis.json ``"require-all": true`, you will have all versions of all packages in the repositories you defined which can take a lot of disk space
OR
You can choose to manually maintain the "require" key which can be time-consuming if you have a lot of packages.
Usage
build
<composer> Path to the project composer.json file
<satis> Path to the satis.json configuration file
[-rdd|--require-dev-dependencies REQUIRE-DEV-DEPENDENCIES] Sets the "require-dev-dependencies" key
[-rd|--require-dependencies REQUIRE-DEPENDENCIES] Sets the "require-dependencies" key
[-rc|--add-requirements] Add the requirements from the project composer.json
[-drc|--add-dev-requirements] Add the dev requirements from the project composer.json
[-rr|--reset-requirements] Will reset (empty) the satis requirements (require key) before adding the requirements of the composer.json
Example
Given
satis.json
{
"name": "My Repository",
"homepage": "http://localhost:7777",
"repositories": [
{ "type": "vcs", "url": "https://github.com/mycompany/privaterepo" },
],
"require": {
}
}
and
composer.json
{
"name": "mycompany/mycompany-project",
"require": {
"mycompany/privaterepo": "^1.3"
},
"repositories": [
{
"packagist": false
},
{
"type": "composer",
"url": "http://localhost:7777/"
}
]
}
and Composer Satis Builder is installed:
php composer.phar create-project aoe/composer-satis-builder --stability=dev
After running
php composer-satis-builder/bin/composer-satis-builder build composer.json satis.json --reset-requirements --add-requirements
satis.json will look like:
{
"name": "My Repository",
"homepage": "http://localhost:7777",
"repositories": [
{ "type": "vcs", "url": "https://github.com/mycompany/privaterepo" },
],
"require": {
"mycompany/privaterepo": "^1.3"
},
}
Now build Satis as before:
php bin/satis build satis.json web/
License
Composer Satis Builder is licensed under the MIT License - see the LICENSE file for details