Rakefile.rb in cxxproject-0.2 vs Rakefile.rb in cxxproject-0.4.6

- old
+ new

@@ -1,47 +1,69 @@ require 'rake/gempackagetask' -require 'roodi' -require 'roodi_task' -require 'spec/rake/spectask' +begin + require 'roodi' + require 'roodi_task' +rescue LoadError # don't bail out when people do not have roodi installed! + warn "roodi not installed...will not be checked!" +end +begin + require 'spec/rake/spectask' # old rspec +rescue LoadError + begin + require 'rspec/core/rake_task' # rspec 2.5.x + rescue LoadError + warn "spec not installed...will not be checked!" + end +end + + + desc "Default Task" -task :default => [:package, :roodi] +task :default => [:install] -PKG_VERSION = '0.2' PKG_FILES = FileList[ - 'lib/**/*.rb', - 'Rakefile.rb', - 'spec/**/*.rb' -# 'doc/**/*' - ] + 'lib/**/*.rb', + 'lib/tools/**/*.template', + 'Rakefile.rb', + 'spec/**/*.rb' +] -spec = Gem::Specification.new do |s| - s.name = 'cxxproject' - s.version = PKG_VERSION - s.summary = "Cpp Support for Rake." - s.description = <<-EOF - Some more high level building blocks for cpp projects. - EOF - s.files = PKG_FILES.to_a - s.require_path = 'lib' - s.author = '' - s.email = '' - s.homepage = '' +task :gem +spec = Gem::Specification.load('cxx.gemspec') +Rake::GemPackageTask.new(spec) + +if self.class.const_defined?(:RoodiTask) then + RoodiTask.new 'roodi', PKG_FILES, 'roodi.yml' + task :gem => [:roodi] end -RoodiTask.new -Rake::GemPackageTask.new(spec) {|pkg|} +# old rspec +if self.class.const_defined?(:SpecTask) then + desc "Run all examples" + Spec::Rake::SpecTask.new() do |t| + t.spec_files = FileList['spec/**/*_spec.rb'] + end +# task :gem => [:spec] +end -task :gem => [:spec, :roodi] +# new rspec +begin # const_defined? did not work? + desc "Run all examples" + RSpec::Core::RakeTask.new() do |t| + puts Dir.glob 'spec/**/*_spec.rb' + t.pattern = 'spec/**/*_spec.rb' + end +# task :gem => [:spec] +rescue +end -desc "Run all examples" -Spec::Rake::SpecTask.new() do |t| - t.spec_files = FileList['spec/**/*.rb'] +desc 'build gem only' +task :gem_only do + sh "gem build cxx.gemspec" + mv FileList["*.gem"], "pkg" end -task :default => [:install] - desc "install gem globally" -task :install => :gem do +task :install => [:gem] do sh "gem install pkg/#{spec.name}-#{spec.version}.gem" end -