Gitlab Composer repository
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cache
confs
examples init Aug 22, 2013
htdocs
.gitignore
README.md Allow mismatches in package names. Fixes #30 Mar 1, 2018
composer.json Use Gitlab API V4 Aug 28, 2017

README.md

Gitlab Composer repository

Small script that loops through all branches and tags of all projects in a Gitlab installation and if it contains a composer.json, adds it to an index.

This is very similar to the behaviour of Packagist.org

See example.

Installation

  1. Run composer.phar install
  2. Copy confs/samples/gitlab.ini into confs/gitlab.ini, following instructions in comments
  3. Ensure cache is writable
  4. Change the TTL as desired (default is 60 seconds)
  5. Ensure an alias exists for /packages.json => /packages.php (.htaccess is provided)

Usage

Simply include a composer.json in your project, all branches and tags respecting the formats for versions will be detected.

By default, the package name must be equal to the path of the project. i.e.: my-group/my-project. This is not a design requirement, it is mostly to prevent common errors when you copy a composer.json from another project without changing its name. To enable support for differences between package names and project paths, set allow_package_name_mismatch to true in confs/gitlab.ini.

Then, to use your repository, add this in the composer.json of your project:

{
    "repositories": [
        {
            "type": "composer",
            "url": "http://gitlab-composer.stage.wemakecustom.com/"
        }
    ]
}

Caveats

While your projects will be protected through SSH, they will be publicly listed. If you require protection of the package list, I suggest this reading.

Author