3

I am getting some old and mixed documentation issues with building a release for a Drupal 8-based distribution Drupal.org.

The main documentation is How to package a distribution on Drupal.org, which says to use drush make to create a drupal-org.make file. However, when I try to run this command on my site, I get the following error message.

Make has been removed, in favor of Composer. Use the make-convert command in Drush 8 to quickly upgrade your build to Composer.

That's fine, since I am already using Composer for the project! But how do I actually then publish these dependencies on Drupal.org? Drupal.org is definitely not reading the composer.json file, and building the zip files.

Do I just have to manually make a git tag which includes all the files in the *vendoré directory, so that Drupal.org knows to build this?

I am running Drush version 9.5.2.

  • 3
    When you see the top three D8 distributions (commerce, lightning, open social) they all use composer scaffolds, for example github.com/goalgorilla/social_template – 4k4 Feb 8 at 7:39
  • As long as you commit a drupal-org.make file together the distribution files, on drupal.org, you don't need to execute any command, locally. – kiamlaluno Feb 8 at 8:06
  • 1
    @4k4 That is on Github. On Drupal.org, the software that creates the packages for every project doesn't still support a composer.json file for distributions. – kiamlaluno Feb 8 at 8:19
  • @kiamlaluno, I see, although you can build now D8 distributions with composer alone as the commerce kickstart project does or you can make a dual approach like the other two distributions. – 4k4 Feb 8 at 8:55
  • @4k4 As long as the distribution repository has a drupal-org.make file describing the dependencies, every method would work, even using Composer, if there is a script that is able to write the dependencies on that file. – kiamlaluno Feb 8 at 8:59
3

On Drupal.org, there isn't yet support for a distibution composer.json file, as reported on Support for distributions.

The package system used from Drupal.org, to be able to build the package files for a distribution, requires just two files: drupal-org.make and drupal-org-core.make. The latter is only necessary when using a Drupal release that is not official.

If your system doesn't allow you to create a .make file as required from Drupal.org, you can manually create it with any text editor, as long as you use the correct file format (see Example drupal.org make file), and you follow what reported in Drupal.org distribution packaging requirements. In particular, see the notes reported at the beginning.

  • External libraries are validated against a whitelist of GPL-compatible libraries since all code distributed from Drupal.org must be GPL compatible
  • Git clones from Drupal.org sandboxes (as opposed to full projects) are not supported
  • Patches hosted on servers other than Drupal.org are not supported
  • Modules and themes hosted on servers other than Drupal.org are not supported
  • If you need to specify anything other than an official release of the Drupal core project itself, that needs to go into a separate drupal-org-core.make file
  • If you request a specific Git revision you must also define the branch that revision came from

In future, some of those restrictions could be lift. There are feature requests / bugs opened in the packages.drupal.org issue queue.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.