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
-