require 'rubygems' require 'rake/gempackagetask' version = File.read('../VERSION').strip gemspec = Gem::Specification.new do |gem| gem.name = "ripple" gem.summary = %Q{ripple is an object-mapper library for Riak, the distributed database by Basho.} gem.description = %Q{ripple is an object-mapper library for Riak, the distributed database by Basho. It uses ActiveModel to provide an experience that integrates well with Rails 3 applications.} gem.version = version gem.email = "sean@basho.com" gem.homepage = "http://seancribbs.github.com/ripple" gem.authors = ["Sean Cribbs"] gem.add_development_dependency "rspec", "~>2.4.0" gem.add_dependency "riak-client", "~>#{version}" gem.add_dependency "activesupport", "~>3.0.0" gem.add_dependency "activemodel", "~>3.0.0" files = FileList["**/*"] # Editor and O/S files files.exclude ".DS_Store", "*~", "\#*", ".\#*", "*.swp", "*.tmproj", "tmtags" # Generated artifacts files.exclude "coverage", "rdoc", "pkg", ".bundle", "*.rbc", ".rvmrc", ".watchr", ".rspec" # Project-specific files.exclude "Gemfile.lock", %r{spec/support/test_server.yml$}, "bin" # Remove directories files.exclude {|d| File.directory?(d) } gem.files = files.to_a gem.test_files = gem.files.grep(/_spec\.rb$/) end # Gem packaging tasks Rake::GemPackageTask.new(gemspec) do |pkg| pkg.need_zip = false pkg.need_tar = false end task :gem => :gemspec desc %{Build the gemspec file.} task :gemspec do gemspec.validate File.open("#{gemspec.name}.gemspec", 'w'){|f| f.write gemspec.to_ruby } end desc %{Release the gem to RubyGems.org} task :release => :gem do system "gem push pkg/#{gemspec.name}-#{gemspec.version}.gem" end require 'rspec/core' require 'rspec/core/rake_task' desc "Run Unit Specs Only" RSpec::Core::RakeTask.new(:spec) do |spec| spec.pattern = "spec/ripple/**/*_spec.rb" end namespace :spec do desc "Run Integration Specs Only" RSpec::Core::RakeTask.new(:integration) do |spec| spec.pattern = "spec/integration/**/*_spec.rb" end desc "Run All Specs" RSpec::Core::RakeTask.new(:all) do |spec| spec.pattern = "spec/{ripple,integration}/**/*_spec.rb" end end task :default => :spec