I saw #567000: drush create makefile or something similar but this is different. Packaged install profiles on d.o are going to require specific versions, not just the project names or project => major version mappings. However, we're going to support packaging from profilename-drupalorg.make for what's on d.o, and leave profilename.make for people using the profile directly perhaps the maintainer). If profilename-drupalorg.make doesn't exist, we'll look for profilename.make.
One obvious workflow would be to just have project names in profilename.make, but the maintainer could run something like:
drush make profilename.make --write-makefile=profilename-drupalorg.make [other options]
which would just write out a makefile with the specific versions of exactly what it downloaded automatically. That'd significantly ease the job for d.o profile maintainers so they get the best of both worlds: automated building of the recommended releases of everything they're using, but totally reproducible packaged releases of their profile.
Seems like it'd be extremely easy to write, no? If no one's implemented this by the time I'm done with the rest of my list, I'll taken a stab at it. ;)
Comments
Comment #1
dmitrig01 commentedYeah, I can do this. I would call it something else because drush make foo does something specific (i.e. making), so it should be something like drush convert makefile profilename.make profilename-drupalorg.make drupal-org (the type of conversion)
Comment #2
dmitrig01 commentedComitted.
drush convert makefile original.make new.make (no d.o)
Comment #3
hunmonk commentedi think the changes in this code should live in drush_make_d_o.inc, based on #640916: Clean up drush_make.do.drush.inc, and find it a home.
Comment #4
hunmonk commentedto be more specific, i think that the d.o specific portions of the code in this issue should live in drush_make_d_o.drush.inc -- other portions are more generally useful.
how about this: the command should allow another argument to specify the 'type' of conversion, and then function drush_convert_makefile($from, $to, $type) would load that class. then, we move DrushMakeDrupalorgConverter to drush_make_d_o.drush.inc, because it's specific to that extension.
Comment #5
dmitrig01 commentedwe decided this was not way to go (actually, I decided)