Added support for plugins to be installed as submodules with the application templater. [#1517 state:resolved]

Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
This commit is contained in:
Peter Cooper 2008-12-05 10:56:46 +00:00 committed by Pratik Naik
parent 731dcd8404
commit 9eca588bdf
1 changed files with 7 additions and 1 deletions

View File

@ -57,16 +57,22 @@ module Rails
end
# Install a plugin. You must provide either a Subversion url or Git url.
# For a Git-hosted plugin, you can specify if it should be added as a submodule instead of cloned.
#
# ==== Examples
#
# plugin 'restful-authentication', :git => 'git://github.com/technoweenie/restful-authentication.git'
# plugin 'restful-authentication', :git => 'git://github.com/technoweenie/restful-authentication.git', :submodule => true
# plugin 'restful-authentication', :svn => 'svn://svnhub.com/technoweenie/restful-authentication/trunk'
#
def plugin(name, options)
puts "installing plugin #{name}"
if options[:git] || options[:svn]
if options[:git] && options[:submodule]
in_root do
Git.run("submodule add #{options[:git]} vendor/plugins/#{name}")
end
elsif options[:git] || options[:svn]
in_root do
`script/plugin install #{options[:svn] || options[:git]}`
end