Drush Make
The theory, the practice, the future
z, ? | toggle help (this) |
space, → | next slide |
shift-space, ← | previous slide |
d | toggle debug mode |
## <ret> | go to slide # |
c, t | table of contents (vi) |
f | toggle footer |
r | reload slides |
n | toggle notes |
p | run preshow |
The theory, the practice, the future
Some quick examples
Core + Views
; Core, latest version
projects[] = drupal
; Views, latest version
projects[] = views
Specific versions
projects[views][version] = 3.0
Site manifest
Easy for developers to quickly get up to speed on a project
Can eliminate duplicative repositories
(Doesn't have to)
Encourages contributing back to the community
(Which encourages well thought out patches instead of hacks)
Simplicity
Patches
projects[spaces][subdir] = "contrib"
projects[spaces][version] = "3.1"
; Patch spaces: http://drupal.org/node/976324#comment-4354134
projects[spaces][patch][] = "http://drupal.org/files/issues/spaces.976324-08.patch"
; Patch spaces: http://drupal.org/node/1232804#comment-4794526
projects[spaces][patch][] = "http://drupal.org/files/issues/1232804-spaces_og_group_node_403.patch"
Customizing Distributions
; OpenAtrium
projects[openatrium][type] = "profile"
projects[openatrium][download][type] = "git"
projects[openatrium][download][tag] = "6.x-1.0"
; Additional modules
projects[editablefields][subdir] = "contrib"
projects[editablefields][version] = "2.0"
Atrium with Pressflow
; Pressflow
projects[pressflow][type] = "core"
projects[pressflow][download][type] = "file"
projects[pressflow][download][url] = "http://launchpad.net/pressflow/6.x/6.22.104/+download/pressflow-6.22.104.tar.gz"
; OpenAtrium
projects[openatrium][type] = "profile"
projects[openatrium][download][type] = "git"
projects[openatrium][download][tag] = "6.x-1.0"
Working copy
drush make --working-copy foo.make
External libraries
; Solr library
libraries[SolrPHPClient][download][type] = "svn"
libraries[SolrPHPClient][download][url] = "http://solr-php-client.googlecode.com/svn/trunk/"
libraries[SolrPHPClient][download][revision] = "22"
libraries[SolrPHPClient][destination] = "modules/contrib/apachesolr/"
libraries[SolrPHPClient][directory_name] = "SolrPhpClient"
; jQuery UI
projects[jquery_ui][version] = "1.4"
libraries[jquery_ui][download][type] = "get"
libraries[jquery_ui][download][url] = "http://jquery-ui.googlecode.com/files/jquery.ui-1.6.zip"
libraries[jquery_ui][directory_name] = "jquery.ui"
libraries[jquery_ui][destination] = "modules/contrib/jquery_ui"
Sample development setup
project/
|- app/
|
|- my_project/
| | my_project.make
| | my_project.info
| | my_project.install
| |- modules/
| |- custom/
| |- features/
|
|- docroot/
|- profiles/
|- standard/
|- my_project (sym link)
drush pm-update
drush pm-update
needs an option to update the .make file