# encoding: utf-8 require 'rubygems' begin require 'bundler/setup' rescue LoadError => e warn e.message warn "Run `gem install bundler` to install Bundler." exit -1 end require 'rake' require 'time' require 'rubygems/tasks' Gem::Tasks.new namespace :db do desc 'Updates data/ruby-advisory-db' task :update do timestamp = nil chdir 'data/ruby-advisory-db' do sh 'git', 'pull', 'origin', 'master' File.open('../ruby-advisory-db.ts','w') do |file| file.write Time.parse(`git log --pretty="%cd" -1`).utc end end sh 'git', 'commit', 'data/ruby-advisory-db', 'data/ruby-advisory-db.ts', '-m', 'Updated ruby-advisory-db' end end require 'rspec/core/rake_task' RSpec::Core::RakeTask.new namespace :spec do task :bundle do root = 'spec/bundle' # Skip this test on any Ruby below 1.9.3. version = RUBY_VERSION.split(/\./).map(&:to_i) if((version[0] == 1 && version[1] >= 9 && version[2] >= 3) || (version[0] >= 2)) chdir(File.join(root,"secure")) do FileUtils.rm("Gemfile.lock") if(File.exist?("Gemfile.lock")) sh 'BUNDLE_BIN_PATH="" BUNDLE_GEMFILE="" RUBYOPT="" bundle install --path ../../../vendor/bundle' end end %w[unpatched_gems insecure_sources].each do |bundle| chdir(File.join(root,bundle)) do FileUtils.rm("Gemfile.lock") if(File.exist?("Gemfile.lock")) sh 'BUNDLE_BIN_PATH="" BUNDLE_GEMFILE="" RUBYOPT="" bundle install --path ../../../vendor/bundle' end end end end task :spec => 'spec:bundle' task :test => :spec task :default => :spec require 'yard' YARD::Rake::YardocTask.new task :doc => :yard require './lib/bundler/audit/task' Bundler::Audit::Task.new do |r| r.verbose = true end