Closed derhasi closed 7 years ago
+1 for this.
I assume that we'll need to listen to an event that fires after a package has been downloaded, check the package directory for files like:
Loading build-{$project-name}.make
should be sufficient. We can then use make_parse_info_file()
from drush to parse the make file, and perhaps dynamically add the dependencies to the require
array? That, or perhaps generate a subsidiary composer.json for the package on the fly (assuming it doesn't have one).
Could use something like this for generating the new one: https://github.com/grasmash/drush/blob/master/commands/make/make.drush.inc#L429
Anyone know where to start with this? I can fork and give it a shot.
@grasmash Are you still interested in this? Does cweagans/composer-patches work recursive?
I'm still interested, but I've found a stopgap that addresses my needs in the mean time. It requires that the installation profile support composer.
Steps for profile maintainer:
build-{$project-name}.make
and drupal-org-core.make
(low effort)drush make-convert composer.json --format=make > drupal-org.make
to support Drupal.org packaging of contrib. Note this currently requires master branch of drush. Functionality should be in Drush 8.0.6.This requires a bit of extra work on the profile maintainer's part and doesn't completely solve the problem.
To make certain drupal profiles work out of the box patches must be applied: for example see http://cgit.drupalcode.org/erpal_platform/tree/drupal-org.make?id=7.x-1.0-alpha9
This could be resolved when we can standardize on a patch workflow and are also available to provide patch information in a package. We might have a look at security though.
see https://github.com/drupal-composer/drupal-project/issues/14