aboutsummaryrefslogtreecommitdiffstats
path: root/Rakefile
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2016-10-26 18:29:09 +0900
committerKazuki Yamaguchi <k@rhe.jp>2016-11-06 20:50:57 +0900
commitbfe5c5dc3a1a4906016b6e387dee04f94f6ca9c9 (patch)
tree9e3bc33b05ad140c6ae7807109382837d4f1e90e /Rakefile
parent3f23a129fcc52a56a2a34739d6f3cfb9a75766d4 (diff)
downloadruby-openssl-bfe5c5dc3a1a4906016b6e387dee04f94f6ca9c9.tar.gz
Add install_dependencies rake task that installs testing dependenciestopic/rake-install-dependencies
Parse the dependency gems from openssl.gemspec and install them. This is extracted from tool/ruby-openssl-docker/init.sh. .travis.yml, appveyor.yml and CONTRIBUTING.md are also updated to use the new task.
Diffstat (limited to 'Rakefile')
-rw-r--r--Rakefile25
1 files changed, 21 insertions, 4 deletions
diff --git a/Rakefile b/Rakefile
index f3e7e3fa..91502607 100644
--- a/Rakefile
+++ b/Rakefile
@@ -1,11 +1,14 @@
-gem 'rake-compiler'
-
require 'rake'
-require 'rake/extensiontask'
require 'rake/testtask'
require 'rdoc/task'
-Rake::ExtensionTask.new('openssl')
+begin
+ require 'rake/extensiontask'
+ Rake::ExtensionTask.new('openssl')
+rescue LoadError
+ warn "rake-compiler not installed. Run 'rake install_dependencies' to " \
+ "install testing dependency gems."
+end
Rake::TestTask.new do |t|
t.libs << 'test'
@@ -22,6 +25,20 @@ task :debug do
ruby "-I./lib -ropenssl -ve'puts OpenSSL::OPENSSL_VERSION, OpenSSL::OPENSSL_LIBRARY_VERSION'"
end
+task :install_dependencies do
+ if ENV["USE_HTTP_RUBYGEMS_ORG"] == "1"
+ Gem.sources.replace([Gem::Source.new("http://rubygems.org")])
+ end
+
+ Gem.configuration.verbose = false
+ gemspec = eval(File.read("openssl.gemspec"))
+ gemspec.development_dependencies.each do |dep|
+ print "Installing #{dep.name} (#{dep.requirement}) ... "
+ gem = Gem.install(dep.name, dep.requirement, force: true)
+ puts "#{gem[0].version}"
+ end
+end
+
namespace :sync do
task :from_ruby do
sh "./tool/sync-with-trunk"