MakesALot

Categories

Component ID

2514344

Component name

MakesALot

Component type

module

Maintenance status

Development status

Component security advisory coverage

covered

Downloads

593

Component created

Component changed

Component body

MakesALot is a wrapper around Drush make to assist in a cleaner build setup for local development tasks.

Where drush make will download core and listed contrib modules and themes (and patches, libraries), MakesALot will automate the rest of the local build process similar to capistrano or platform.sh.

It has a few options:

$ drush help makesalot
Make all the things!

Arguments:
 makefile                                  Which makefile to use. Assumes repository/project.make if none are specified.

Options:
 --buildname                               Name to use for this build, ignoring branch detection. 
 --skipdump                                Do not create dump of MySQL database.

It assumes you have the following folder structure:

some-project/
	builds/
		build-{branch}-{yyyymmdd hhmmss date}/ (built folders)
	repository/ (the git folder)
		project.make (default makefile. should live in repository, but can be named anything.)
		modules/ (optional)
		themes/ (optional)
		libraries/ (optional)
		settings.php (optional)
	shared/
		files/ (files dir, optional)
		private-files/ (files dir, optional)
		settings.local.php (optional file)
		tmp/ (files dir, optional)
	sql-dumps/
		sql-dump--{branch}-{yyyymmdd hhmmss date}.sql (created automatically on run of file prior to build process)
	www (sym-link to most current build. This is your vhost target)

And preforms the following build steps:

  1. Grab current timestamp to be used in below steps
  2. Get current git branch name from repository
  3. Create sql dump of www/ environment, stored in the sql-dumps folder
  4. Start the build process of the project.make in to the builds folder
  5. If they exist, symlink repository/modules, themes, and libraries to builds/{build}/sites/default/{modules,themes,libraries}
  6. Also if it exists, symlink shared/files to builds/{build}/sites/default/files
  7. Also if it exists, symlink shared/private-files to builds/{build}/sites/default/private-files
  8. Also if it exists, symlink shared/tmp to builds/{build}/sites/default/tmp
  9. Also if it exists, copies repository/settings.php to builds/{build}/sites/default/settings.php
  10. Also if it exists, copies shared/settings.local.php to builds/{build}/sites/default/settings.local.php
  11. Symlinks (or updates symlink) on www to point to most current build

As composer is the future of Drupal recipes and dependency management, this module will not see an update to support D8 or newer versions of drush.

This project is sponsored by Switchback, LLC. We are available for paid support, customizations, and other Drupal development projects.