Rakefile in gitable-0.0.1 vs Rakefile in gitable-0.0.2

- old
+ new

@@ -1,67 +1,75 @@ -require 'rubygems' -require 'rake' - -begin - require 'jeweler' - Jeweler::Tasks.new do |gem| - gem.name = "gitable" - gem.summary = %Q{Like Addressable::URI but for Git} - gem.description = %Q{Use this like an Addressable::URI that understands the various git URI formats.} - gem.email = "martin.emde@gmail.com" - gem.homepage = "http://github.com/martinemde/gitable" - gem.authors = ["Martin Emde"] - end - Jeweler::GemcutterTasks.new -rescue LoadError - puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler" -end - -require 'spec/rake/spectask' -Spec::Rake::SpecTask.new(:spec) do |spec| - spec.libs << 'lib' << 'spec' - spec.spec_files = FileList['spec/**/*_spec.rb'] -end - -Spec::Rake::SpecTask.new(:rcov) do |spec| - spec.libs << 'lib' << 'spec' - spec.pattern = 'spec/**/*_spec.rb' - spec.rcov = true -end - -task :spec => :check_dependencies - -begin - require 'reek/adapters/rake_task' - Reek::RakeTask.new do |t| - t.fail_on_error = true - t.verbose = false - t.source_files = 'lib/**/*.rb' - end -rescue LoadError - task :reek do - abort "Reek is not available. In order to run reek, you must: sudo gem install reek" - end -end - -begin - require 'roodi' - require 'roodi_task' - RoodiTask.new do |t| - t.verbose = false - end -rescue LoadError - task :roodi do - abort "Roodi is not available. In order to run roodi, you must: sudo gem install roodi" - end -end - -task :default => :spec - -begin - require 'yard' - YARD::Rake::YardocTask.new -rescue LoadError - task :yardoc do - abort "YARD is not available. In order to run yardoc, you must: sudo gem install yard" - end -end +require 'bundler' +Bundler.require_env +require 'rake' + +begin + require 'jeweler' + Jeweler::Tasks.new do |gem| + gem.name = "gitable" + gem.summary = %Q{Addressable::URI for Git} + gem.description = %Q{It's like Addressable::URI but for Git. Gitable.} + gem.email = "martin.emde@gmail.com" + gem.homepage = "http://github.com/martinemde/gitable" + gem.authors = ["Martin Emde"] + + bundle = Bundler::Bundle.load(File.dirname(__FILE__) + '/Gemfile') + bundle.environment.dependencies.each do |d| + if d.only && d.only.include?('runtime') + gem.add_dependency d.name, d.version.to_s + end + end + end + Jeweler::GemcutterTasks.new +rescue LoadError + puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler" +end + +require 'spec/rake/spectask' +Spec::Rake::SpecTask.new(:spec) do |spec| + spec.libs << 'lib' << 'spec' + spec.spec_files = FileList['spec/**/*_spec.rb'] +end + +Spec::Rake::SpecTask.new(:rcov) do |spec| + spec.libs << 'lib' << 'spec' + spec.pattern = 'spec/**/*_spec.rb' + spec.rcov = true +end + +task :spec => :check_dependencies + +begin + require 'reek/adapters/rake_task' + Reek::RakeTask.new do |t| + t.fail_on_error = true + t.verbose = false + t.source_files = 'lib/**/*.rb' + end +rescue LoadError + task :reek do + abort "Reek is not available. In order to run reek, you must: sudo gem install reek" + end +end + +begin + require 'roodi' + require 'roodi_task' + RoodiTask.new do |t| + t.verbose = false + end +rescue LoadError + task :roodi do + abort "Roodi is not available. In order to run roodi, you must: sudo gem install roodi" + end +end + +task :default => :spec + +begin + require 'yard' + YARD::Rake::YardocTask.new +rescue LoadError + task :yardoc do + abort "YARD is not available. In order to run yardoc, you must: sudo gem install yard" + end +end