Rakefile in project-1.1.0 vs Rakefile in project-1.2.0

- old
+ new

@@ -1,44 +1,22 @@ -require 'rubygems' -require 'rake' +# Quick task to build and deploy gem. +require 'lib/project' -begin - require 'jeweler' - Jeweler::Tasks.new do |gem| - gem.name = "project" - gem.summary = "A streamlined approach to working with multiple projects and tasks." - gem.description = "Project aims to make working with multiple projects as simple as possible. By registering projects with workflows you can quickly create a set of commands that will be run against each project." - gem.email = "josh@josh-nesbitt.net" - gem.homepage = "http://github.com/joshnesbitt/project" - gem.authors = ["Josh Nesbitt"] - gem.add_development_dependency "rspec", ">= 1.2.9" - gem.executables << 'project' +GEM_NAME = "project-#{Project::Version::STRING}.gem" +GEM_PATH = "pkg/#{GEM_NAME}" + +def execute_commands(commands) + commands.each do |command| + output = `#{command}` + puts "* executed #{command}" + puts output unless output.empty? 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'] +task :build do + execute_commands ['gem build project.gemspec', + "mv #{GEM_NAME} pkg/"] 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 -task :default => :spec - -require 'rake/rdoctask' -Rake::RDocTask.new do |rdoc| - version = File.exist?('VERSION') ? File.read('VERSION') : "" - - rdoc.rdoc_dir = 'rdoc' - rdoc.title = "configurable #{version}" - rdoc.rdoc_files.include('README*') - rdoc.rdoc_files.include('lib/**/*.rb') +task :deploy => [ :build ] do + execute_commands ["gem push #{GEM_PATH}"] end