Rakefile in trinidad_daemon_extension-0.2.10 vs Rakefile in trinidad_daemon_extension-0.3.0

- old
+ new

@@ -11,50 +11,35 @@ def name @name ||= Dir['*.gemspec'].first.split('.').first end def version - line = File.read("lib/#{name}.rb")[/^\s*VERSION\s*=\s*.*/] + line = File.read("lib/#{name}/version.rb")[/^\s*VERSION\s*=\s*.*/] line.match(/.*VERSION\s*=\s*['"](.*)['"]/)[1] end -def date - Date.today.to_s -end - -def rubyforge_project - name -end - def gemspec_file "#{name}.gemspec" end def gem_file "#{name}-#{version}.gem" end -def replace_header(head, header_name) - head.sub!(/(\.#{header_name}\s*= ').*'/) { "#{$1}#{send(header_name)}'"} -end - ############################################################################# # # Standard tasks # ############################################################################# task :default => :spec -require 'spec/rake/spectask' -Spec::Rake::SpecTask.new(:spec) do |spec| - spec.libs << 'lib' << 'spec' - spec.spec_opts = ['--options', 'spec/spec.opts'] - spec.spec_files = FileList['spec/**/*_spec.rb'] +require 'rspec/core/rake_task' +RSpec::Core::RakeTask.new(:spec) do |spec| + spec.rspec_opts = ['--color', "--format documentation"] end - desc "Generate RCov test coverage and open in your browser" task :coverage do require 'rcov' sh "rm -fr coverage" sh "rcov test/test_*.rb" @@ -93,50 +78,21 @@ puts "You must be on the master branch to release!" exit! end sh "git commit --allow-empty -a -m 'Release #{version}'" sh "git tag v#{version}" - sh "git push origin master" - sh "git push --tags" + sh "git push origin master --tags" sh "gem push pkg/#{name}-#{version}.gem" end -task :build => ['ant:build', 'gemspec'] do +task :build => :validate do sh "mkdir -p pkg" sh "gem build #{gemspec_file}" sh "mv #{gem_file} pkg" end task :install => :build do sh "gem install pkg/#{name}-#{version}.gem" -end -task :gemspec => :validate do - # read spec file and split out manifest section - spec = File.read(gemspec_file) - head, manifest, tail = spec.split(" # = MANIFEST =\n") - - # replace name version and date - replace_header(head, :name) - replace_header(head, :version) - replace_header(head, :date) - #comment this out if your rubyforge_project has a different name - replace_header(head, :rubyforge_project) - - # determine file list from git ls-files - files = `git ls-files`. - split("\n"). - sort. - reject { |file| file =~ /^\./ }. - reject { |file| file =~ /^(rdoc|pkg|src|git-hooks)/ }. - reject { |file| file =~ /tomcat-core.jar/ }. - map { |file| " #{file}" }. - join("\n") - - # piece file back together and write - manifest = " s.files = %w[\n#{files}\n ]\n" - spec = [head, manifest, tail].join(" # = MANIFEST =\n") - File.open(gemspec_file, 'w') { |io| io.write(spec) } - puts "Updated #{gemspec_file}" end task :validate do libfiles = Dir['lib/*'] - ["lib/#{name}.rb", "lib/#{name}"] unless libfiles.empty?