Sha256: 72108d604b9be8b5a039a759376a36e2b6a3674702f157613f9f799688d8efe6
Contents?: true
Size: 1.85 KB
Versions: 2
Compression:
Stored size: 1.85 KB
Contents
# GEM TASK require 'find' require 'rubygems' require 'rubygems/package' # Unfortunately Rake::GemPackageTest cannot deal with files that are generated # by Rake targets. So we have to write our own packaging task. desc 'Build the gem package' task :gem => [:clobber] do Rake::Task[:vim].invoke Rake::Task[:manual].invoke Rake::Task[:changelog].invoke Rake::Task[:permissions].invoke load 'taskjuggler.gemspec'; # Build the gem file according to the loaded spec. if RUBY_VERSION >= "2.0.0" Gem::Package.build(GEM_SPEC) else Gem::Builder.new(GEM_SPEC).build end pkgBase = "#{GEM_SPEC.name}-#{GEM_SPEC.version}" # Create a pkg directory if it doesn't exist already. FileUtils.mkdir_p('pkg') # Move the gem file into the pkg directory. verbose(true) { FileUtils.mv("#{pkgBase}.gem", "pkg/#{pkgBase}.gem")} # Create a tar file with all files that are in the gem. FileUtils.rm_f("pkg/#{pkgBase}.tar") FileUtils.rm_f("pkg/#{pkgBase}.tar.gz") verbose(false) {GEM_SPEC.files.each { |f| `tar rf pkg/#{pkgBase}.tar "#{f}"` } } # And gzip the file. `gzip pkg/#{pkgBase}.tar` end desc 'Make sure all files and directories are readable' task :permissions do # Find the bin and test directories relative to this file. baseDir = File.expand_path('..', File.dirname(__FILE__)) execs = Dir.glob("#{baseDir}/bin/*") + Dir.glob("#{baseDir}/test/**/genrefs") Find.find(baseDir) do |f| # Ignore the whoke pkg directory as it may contain links to the other # directories. next if Regexp.new("#{baseDir}/pkg/*").match(f) FileUtils.chmod_R((FileTest.directory?(f) || execs.include?(f) ? 0755 : 0644), f) end end desc 'Run all tests and build scripts and create the gem package' task :release do Rake::Task[:test].invoke Rake::Task[:spec].invoke Rake::Task[:rdoc].invoke Rake::Task[:gem].invoke end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
taskjuggler-3.6.0 | tasks/gem.rake |
taskjuggler-3.5.0 | tasks/gem.rake |