diff --git a/README.md b/README.md index 4b30349..7ca2274 100644 --- a/README.md +++ b/README.md @@ -21,22 +21,74 @@ Or install it yourself as: ## Usage -Require in `Capfile` to use the default task: +Require the module in your `Capfile`: ```ruby require 'capistrano/composer' ``` -The task will run before `deploy:updated` as part of Capistrano's default deploy, -or can be run in isolation with `cap production composer:install` +`capistrano/composer` comes with 5 tasks: + +* composer:install +* composer:install_executable +* composer:dump_autoload +* composer:self_update +* composer:run + +The `composer:install` task will run before deploy:updated as part of +Capistrano's default deploy, or can be run in isolation with: + +```bash +$ cap production composer:install +``` + +By default it is assumed that you have the composer executable installed and in your +`$PATH` on all target hosts. + +### Configuration Configurable options, shown here with defaults: ```ruby -set :composer_flags, '--production --silent' +set :composer_install_flags, '--no-dev --no-scripts --quiet --optimize-autoloader' set :composer_roles, :all +set :composer_dump_autoload_flags, '--optimize' +set :composer_download_url, "https://getcomposer.org/installer" +``` + +### Installing composer as part of a deployment + +Add the following to `deploy.rb` to manage the installation of composer during +deployment (composer.phar is install in the shared path). + +```ruby +SSHKit.config.command_map[:composer] = "#{shared_path.join("composer.phar")}" + +namespace :deploy do + before :starting, 'composer:install_executable' +end +``` + +### Accessing composer commands directly + +This library also provides a `composer:run` task which allows access to any +composer command. + +From the command line you can run + +```bash +$ cap production composer:run['status','--profile'] ``` +Or from within a rake task using capistrano's `invoke` + +```ruby +task :my_custom_composer_task do + invoke "composer:run", :update, "--dev --prefer-dist" +end +``` + + ## Contributing 1. Fork it diff --git a/capistrano-composer.gemspec b/capistrano-composer.gemspec index 9166ae8..f7c05a4 100644 --- a/capistrano-composer.gemspec +++ b/capistrano-composer.gemspec @@ -5,8 +5,8 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) Gem::Specification.new do |spec| spec.name = 'capistrano-composer' spec.version = '0.0.2' - spec.authors = ['Scott Walkinshaw'] - spec.email = ['scott.walkinshaw@gmail.com'] + spec.authors = ['Scott Walkinshaw', 'Peter Mitchell'] + spec.email = ['scott.walkinshaw@gmail.com', 'peterjmit@gmail.com'] spec.description = %q{Composer support for Capistrano 3.x} spec.summary = %q{Composer support for Capistrano 3.x} spec.homepage = 'https://github.com/capistrano/composer'