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