require 'rake/testtask' Rake::TestTask.new do |t| t.libs << 'test' end desc "Run tests" task :default => :test task :cleanup_test do sh "rm -rf test/test" end task :build => :doc do sh "gem build unicache.gemspec" end task :doc do sh "yardoc lib/* - README.rdoc CHANGELOG.rdoc" end task :publish do if Dir.glob('unicache-*gem').length == 1 sh "gem push unicache*.gem" else raise "Multiple gems in the directory..." end end # Create unicache.gemspec with current version and date fields. file 'unicache.gemspec' => [:version, 'unicache.rx.gemspec'] do sh "mucgly -i unicache.rx.gemspec -o unicache.gemspec" sh "ruvermgr -f .version -i build" # sh "ruvermgr -f .version" end # Create 'lib/version.rb' file including 'Unicache.version' method. # :version task is usually executed indirectly by 'unicache.gemspec'. task :version do version = %x{ruvermgr -f .version -o ruby}.chomp File.open( "lib/version.rb", 'w' ) do |fh| fh.puts "\ class UniCache VERSION=\"#{version}\" def UniCache.version VERSION end end " end end