drush 6.x-2.1 Release

Gestern wurde drush in der Version 2.1 herausgegeben.

Neben zahlreichen Bug Fixes gibt es zwei signifikante Änderungen, die ich hier beschreiben möchte.

  1. Die Entfernung des Shebang's in drush.php.
  2. Die Einführung von Aliases.
  1. Aus der Datei drush.php wurde das Shebang, (#!/usr/bin/env php), auch als Hash-Bang oder Interpreterdeklaration bezeichnet entfernt.

    Dies hat zur Folge, dass drush.php nicht mehr als solches aufrufbar ist, es sei denn, man stellt drush.php ein php voran (php drush.php).

    Stattdessen soll der Aufruf über das Shell-Skript drush erfolgen.

    Siehe #586466

    Remove shebang from drush.php. You should use the drush scell script, or call 'php drush.php' instead.

    .

    Durch diese Änderung, habe ich die Installation von drush überdacht, diese sieht bei mir jetzt so aus:

    1. Den drush-Ordner habe ich nach /usr/local/share verschoben.
    2. In /usr/local/bin liegt Symbolische Link drush, welcher auf das Shell-Skript /usr/local/share/drush/drush zeigt.
      lrwxrwxrwx 1 root root 26 2009-10-25 00:03 drush -> /usr/local/src/drush/drush
  2. Die zweite signifikante Änderung, ist die Einführung von Aliases, siehe auch Issue #549494. So wurde z.B. aus dl, download mit dl als Alias und unter anderem ist cache clear ist nun über cc aufrufbar.

    Für Entwickler gestaltet sich das definieren von Aliases wie folgt:

    In hook_drush_command ist der Array Items um den Index aliases erweitert worden, diesem kann man einen Array mit Aliases hinzufügen, wie hier am Beispiel der Erweiterung von example.drush.inc zu sehen ist.

    function example_drush_command() {
      $items = array();
      $items['example'] = array(
        'callback' => 'example_callback',
        'description' => "Drush example command. It doesn't to a lot",
        'aliases' => array('ex'),
      );
    }

    Durch die Einführung der Aliase lässt sich diese Aussage nochmals untermauern:

    Drush: More Beer, Less Effort

drush_invoke('dl')

*GRMPF*...
Habe gerade entdeckt, dass meine Drush-Skripte wegen der Umbennenung von dl auf download nicht mehr gehen...
drush_invoke('dl') -> drush_invoke('download') und jetzt gehts wieder...

Submitted by floh on Mi, 2009-10-28 13:22.
Dies hat zur Folge, dass

Dies hat zur Folge, dass drush.php nicht mehr als solches aufrufbar ist, es sei denn, man stellt drush.php ein php voran (php drush.php).

Gibt es Gründe dafür?

# Die Einführung von Aliases.

Kann man selber welche, für vorhandene Funktionen definieren?

Submitted by dereine (nicht überprüft) on Di, 2009-10-27 21:05.
Der Vermerk im Release Node

Der Vermerk im Release Node bezgl. Shebang (siehe oben):

Remove shebang from drush.php. You should use the drush scell script, or call 'php drush.php' instead

Wieso? Ich verstehe das auch nicht....

Aliases:
Also wenn ein bestehendes Command keine Aliase definiert, dann geht es IHMO nicht ohne Hack.

Submitted by floh on Di, 2009-10-27 21:23.