The file format is for Drupal
Contacts directly drupal.org
Adding a git repository is very hard
So, I put this challenge to the Drupal community: Make your New Year's Resolution to get off the island in 2013. By that I mean get involved in the wider PHP community, both to learn from it and to share with it.
...we need enough humility to accept that there are way better ideas floating around out there than exist in Drupal, and we should be open minded enough to learn from them or adopt them wholesale.
Larry Garfield, Getting of the island in 2013, 31 December 2012
webflo
bojanz
davidwbaratt
derhasi
hussainweb
tstoeckler
Mile23
timmillwood
winmillwill
yched
...
Support Contrib Modules/Themes with Composer Dependencies
Adresss, Drupal Module Upgrader, Markdown Filter, AWS SDK
Support Third Party Dependencies
Support composer create-project
core directory is in repository, but Composer places drupal/core in core directory
Composer places external dependencies in vendor, but they are duplicated at core/vendor
autoload.php needs to updated
.gitignore needs to be updated
Not a solution: "replace": { "drupal/core" }
Does not install dependencies of drupal/core
drupal/drupal
https://github.com/drupal-composer/drupal-project
composer create-project drupal-composer/drupal-project
Use on composer.json for all Dependecies
Solution 1: https://www.drupal.org/project/composer_manager
Solution 2: https://github.com/wikimedia/composer-merge-plugin
Example: https://gist.github.com/webflo/c64a5ba25a7f883606ca
Solution 3:
"require": {
"composer/installers": "^1.0.21",
"drupal/core": "~8.0",
"drupal/address": "8.1.*@dev"
},
Possible Follow-Ups
Remove autoload.php
Run composer install on Drupal CI and Packaging
Remove <root>/vendor alltogether
All Composer metadata in one place
Option: packagist.org
requires composer.json
requires Semantic Versioning of branches & tags
Option: Drupal-specific Packagist implementation
can translate existing metadata to Composer format
does not work for custom modules and forks
Switch to Semantic Versioning for Drupal contrib extenstions (modules, themes, etc)
With X.Y.Z we lose the relationship to the Drupal core version
8.X.Y.Z is supported by Composer but non-standard
https://events.drupal.org/barcelona2015/sessions/composer-and-drupal-8