summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Davis <ryand@zenspider.com>2009-02-17 19:46:44 -0800
committerRyan Davis <ryand@zenspider.com>2009-02-17 19:46:44 -0800
commit13ee80ab1cab05a8567fcf87b950ea8fe089d38d (patch)
tree6f68d91482c9e0480211293a7d411db7dbca49ae
parent29dd917503ae90df61c8a0518adf6b154d4062d1 (diff)
downloadhoe-13ee80ab1cab05a8567fcf87b950ea8fe089d38d.tar.gz
install_gem automatically installs missing dependencies. From Dr. Nic.
[git-p4: depot-paths = "//src/hoe/dev/": change = 4596]
-rw-r--r--History.txt1
-rw-r--r--lib/hoe.rb14
2 files changed, 14 insertions, 1 deletions
diff --git a/History.txt b/History.txt
index ac6252d..a00411c 100644
--- a/History.txt
+++ b/History.txt
@@ -2,6 +2,7 @@
* N minor enhancement:
+ * install_gem automatically installs missing dependencies. From Dr. Nic.
* Parameterized history and readme paths for github users (*sigh*).
* Added rspec support including having both tests and specs.
* Match RubyGems' RDoc behavior and removed rdoc_pattern attribute. Use
diff --git a/lib/hoe.rb b/lib/hoe.rb
index 486359a..87311f4 100644
--- a/lib/hoe.rb
+++ b/lib/hoe.rb
@@ -649,7 +649,7 @@ class Hoe
end
desc 'Install the package as a gem.'
- task :install_gem => [:clean, :package] do
+ task :install_gem => [:clean, :package, :check_extra_deps] do
gem = Dir['pkg/*.gem'].first
sh "#{'sudo ' unless WINDOZE}gem install --local #{gem}"
end
@@ -867,6 +867,18 @@ class Hoe
end
end
+ desc 'Check dependent gems are installed locally else install from rubyforge'
+ task :check_extra_deps do
+ # extra_deps = [["rubyforge", ">= 1.0.0"], ["rake", ">= 0.8.1"]]
+ extra_deps.each do |dep_gem, dep_version|
+ begin
+ gem dep_gem, dep_version
+ rescue Gem::LoadError
+ sh "#{'sudo ' unless WINDOZE}gem install #{dep_gem} --version '#{dep_version}'"
+ end
+ end
+ end
+
desc 'Create a fresh ~/.hoerc file.'
task :config_hoe do
with_config do |config, path|