Recently I started using drush make to pull in Drupal Core, all the required contrib-modules, themes and libraries.

One of the modules I use is the geshifilter-module. This module comes with it's own make-files, so when I run drush make to build my entire site, drush sees this make-file and also builds that to pull in all the dependencies for the geshifilter-module.

While this is really convenient, I have one small problem with this: I prefer to have all the contrib-modules in sites/all/modules/contrib, so I define my modules like this:

projects[geshifilter][subdir] = "contrib"

However, the make-file inside geshifilter doesn't specify this subdir, so as a result, drush downloads the dependencies to just sites/all/modules instead of sites/all/modules/contrib.

For the moment I have added some commands in my wrapper-script around drush make to move those dependencies to the contrib-folder after drush make has finished, but I'm wondering if it is somehow possible to override the subdir-property for make-files which are provided by modules (obviously without manually modifying those make-files). I'm using drush 4.5 (default one from Ubuntu 12.04)

up vote 2 down vote accepted
+50

This doesn't seems to be supported by Drush, you should consider reporting a feature request. The existing "Default path for projects, libraries" issue seems relevant too.

You may also consider reporting an issue for the GeSHi Filter module. Modules are not supposed to bundle a .make that download their dependencies. Usually, makefiles for modules are only used to download external libraries. The current makefile seems broken too since it download GeSHi as project while it should be downloaded as a library.

  • for some reason, adding the contrib to the module itself does not work, but adding it as default does: defaults[projects][subdir] = "contrib" – Alejandro Moreno Oct 3 '16 at 9:35

You can specify a default subdir for all projects this way:

core = "7.x"
api = 2
defaults[projects][subdir] = contrib
projects[] = views
projects[] = ctools

it is a very recent addition to drush 5, only available in the dev release.

here's a patch for the geshifilter make file to not interfere with your work flow https://drupal.org/node/1948852#comment-7602129

just a short notice for who it might concern:

chaining directories:

defaults[projects][subdir] = "contrib/projects"

or

projects[admin_menu][subdir] = "contrib/core"

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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