AOEpeople/composer-satis-builder

Name: composer-satis-builder

Owner: AOE

Description: null

Created: 2015-10-29 13:14:30.0

Updated: 2017-12-17 05:55:25.0

Pushed: 2016-04-28 07:04:40.0

Homepage: null

Size: 13

Language: PHP

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Composer Satis Builder

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


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.