diff -r 139bf74b9374 -r e3b168fa7513 dev/provisioning/modules/drush/manifests/init.pp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dev/provisioning/modules/drush/manifests/init.pp Tue Oct 18 18:46:45 2016 +0530 @@ -0,0 +1,90 @@ +# == Class: drush +# +# Installs Drush system-wide with Composer and prepares a working environment. +# +# === Parameters +# +# [*versions*] +# Array of versions of drush to install. +# Valid values are '6', '7', '8', and 'master'. +# +# [*default_version*] +# String with the drush version considered the main version. +# +# [*install_type*] +# Install distribution package or source code. +# Valid values: 'dist', 'source'. Defaults to 'dist'. +# +# [*autoupdate*] +# Try and install new versions automatically. Defaults to false. +# +# [*ensure_extra_packages*] +# Boolean indicating wether extra system packages must be installed. +# It defaults to false to not interfere with other modules. +# +# [*extra_packages*] +# Array of extra packages to install if ensure_extra_packages is true. +# +# [*bash_integration*] +# Boolean indicating whether to enable drush bash facilities. It configures +# bash to source drush's example.bashrc for any session. +# +# [*bash_autocompletion*] +# Boolean indicating whether to enable bash autocompletion for drush commands. +# Doesn't take effect if bash_integration is true. +# +# [*extensions*] +# List of drush extensions to download. +# +# [*aliases*] +# Hash of aliases to make available system wide. +# +# [*composer_path*] +# Absolute path to composer executable. +# +# [*php_path*] +# Path to an alternative php executable to run drush with. +# If provided, it will set DRUSH_PHP environment variable system-wide. +# +# [*php_ini_path*] +# Path to an alternative php ini file. If provided, it will set PHP_INI +# environment variable system-wide. See `docs-ini-files` for details. +# +# [*drush_ini_path*] +# Path to a ini file with php overrides. If provided, it will set DRUSH_INI +# environment variable system-wide. See `docs-ini-files` for details. +# +class drush( + $versions = ['7',], + $default_version = '7', + $install_type = 'dist', + $autoupdate = false, + $ensure_extra_packages = false, + $extra_packages = $drush::params::extra_packages, + $bash_integration = false, + $bash_autocompletion = true, + $extensions = [], + $aliases = {}, + $composer_path = '/usr/local/bin/composer', + $php_path = undef, + $php_ini_path = undef, + $drush_ini_path = undef, +) inherits drush::params { + + # Pick default major version. + validate_string($default_version) + $parts = split($default_version, '[.]') + $default_version_major = $parts[0] + + validate_absolute_path($composer_path) + + $install_base_path = '/opt/drush' + $drush_exe_default = '/usr/local/bin/drush' + + class{'drush::setup': } -> + class{'drush::config': } ~> + class{'drush::cacheclear': } -> + Class['drush'] + +} +