Skip to content

Create Composer package class

Context

Step by step we want to complete the refactoring and extract every package format from Packages::Package to its own class.

What does this MR do and why?

This MR introduces Packages::Composer::Package class for composer packages.

Composer package registry is in beta https://docs.gitlab.com/ee/user/packages/composer_repository/

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

No 🤷

How to set up and validate locally

Publish a Composer package

Using API https://docs.gitlab.com/ee/user/packages/composer_repository/index.html#publish-a-composer-package-by-using-the-api or using CI/CD https://docs.gitlab.com/ee/user/packages/composer_repository/index.html#publish-a-composer-package-by-using-cicd

A simple composer.json file, that is required for a package, may look like this:

composer.json
{
    "name": "test/hello-composer",
    "autoload": {
        "psr-4": {
            "Dima\\HelloComposer\\": "src/"
        }
    },
    "authors": [
        {
            "name": "Foo Bar"
        }
    ],
    "require": {}
}

Install a Composer package

https://docs.gitlab.com/ee/user/packages/composer_repository/index.html#install-a-composer-package

Related to #435828

Edited by Dzmitry Meshcharakou

Merge request reports