Drupal: A drush make esete a több make file-lal

Drush make használatakor a futtatott make file meghívhat olyan összetevőket, amik szintén tartalmaznak make file-t. Ezeket a drush make felismeri és futtatja, de ehhez figyelni kell néhány dologra.

Az futtatott make file a projekt pontos nevét kell, hogy tartalmazza a szögletes zárójelek között. Pl. az alábbi esetben a gitből lehúzott modul neve az, hogy „my_great_feature”:


projects[my_great_feature][download][type] = "git"
projects[my_great_feature][download][url] = "git@peldadomain.hu:mygreatfeature.git"
projects[my_great_feature][branch] = "master"
projects[my_great_feature][type] = "module"
projects[my_great_feature][subdir] = "custom/general"
projects[my_great_feature][directory_name] = my_great_feature

A „my_great_feature” repójában szintén van egy make file, amiben a szükséges kiegészítőket adjuk meg. (Pl. egy Features feature esetén a működéshez szükséges contrib modulokat.) Ez a make file (my_great_feature.make) is kell, hogy tartalmazza a repót, amiben „lakik” (mert ha csak ezt futtatjuk, és nem másik make-ből hívódik meg, akkor is kell a saját kódunk is, nem csak a kiegészítők).

Itt viszont figyelnünk kell, hogy ne alakulhasson ki végtelen ciklus a drush make futása közben, ezért itt ne(!) ugyanazt az elnevezést használjuk a projektre (a szögletes zárójelek közti részt nézd):


projects[my_gt_feat][download][type] = "git"
projects[my_gt_feat][download][url] = "git@peldadomain.hu:mygreatfeature.git"
projects[my_gt_feat][branch] = "master"
projects[my_gt_feat][type] = "module"
projects[my_gt_feat][subdir] = "custom/general"
projects[my_gt_feat][directory_name] = my_great_feature

Megosztó személyiség vagy?

2 thoughts on “Drupal: A drush make esete a több make file-lal

  1. Jobbat mondok neked. :)
    A feature könyvtárában két make fájl legyen. Ha a feature neve „kiscica”, akkor a repository-ban legyen benne kiscica.make fájl, ami tartalmazza az adott feature függőségeit. Illetve legyen mondjuk egy „build-kiscica.make”, amiben megadjuk a feature elérhetőségét és include-oljuk az előbbit:

    core = 7.x
    api = 2
    projects[drupal][type] = core
    includes[] = kiscica.make
    ; Features
    projects[kiscica][download][type] = “git”
    projects[kiscica][download][url] = “git@peldadomain.hu:kiscica.git”
    projects[kiscica][download][branch] = “master”
    projects[kiscica][type] = “module”
    projects[kiscica][subdir] = “features”

    • A bejegyzés írásának egyik – titkos ;) – célja az volt, hogy kapjak én is további tippeket… Most, hogy olvasom, amit írtál, rémlik, hogy láttam már az includes[] lehetőséget, de nem emlékeztem rá…

      Köszönöm a tippet!

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.