Codebase list facter / cfe206a
Merge branch '1.6.x' into 2.0rc * 1.6.x: Use git describe in Rakefile to determine pkg ver Hailee Kenney 11 years ago
1 changed file(s) with 39 addition(s) and 12 deletion(s). Raw diff Collapse all Expand all
1616 require 'rake/packagetask'
1717 require 'rake/gempackagetask'
1818
19 module Facter
20 FACTERVERSION = File.read('lib/facter.rb')[/FACTERVERSION *= *'(.*)'/,1] or fail "Couldn't find FACTERVERSION"
21 end
22
2319 FILES = FileList[
2420 '[A-Z]*',
2521 'install.rb',
3026 'spec/**/*'
3127 ]
3228
29 def get_version
30 `git describe`.strip
31 end
32
33 # :build_environment and :tar are mostly borrowed from puppet-dashboard Rakefile
34 task :build_environment do
35 unless ENV['FORCE'] == '1'
36 modified = `git status --porcelain | sed -e '/^\?/d'`
37 if modified.split(/\n/).length != 0
38 puts <<-HERE
39 !! ERROR: Your git working directory is not clean. You must
40 !! remove or commit your changes before you can create a package:
41
42 #{`git status | grep '^#'`.chomp}
43
44 !! To override this check, set FORCE=1 -- e.g. `rake package:deb FORCE=1`
45 HERE
46 raise
47 end
48 end
49 end
50
51 desc "Create a release .tar.gz"
52 task :tar => :build_environment do
53 name = "facter"
54 rm_rf 'pkg/tar'
55 temp=`mktemp -d -t tmpXXXXXX`.strip!
56 version = get_version
57 base = "#{temp}/#{name}-#{version}/"
58 mkdir_p base
59 sh "git checkout-index -af --prefix=#{base}"
60 mkdir_p "pkg/tar"
61 sh "tar -C #{temp} -pczf #{temp}/#{name}-#{version}.tar.gz #{name}-#{version}"
62 mv "#{temp}/#{name}-#{version}.tar.gz", "pkg/tar"
63 rm_rf temp
64 puts "Tarball is pkg/tar/#{name}-#{version}.tar.gz"
65 end
66
3367 spec = Gem::Specification.new do |spec|
3468 spec.platform = Gem::Platform::RUBY
3569 spec.name = 'facter'
3670 spec.files = FILES.to_a
3771 spec.executables = %w{facter}
38 spec.version = Facter::FACTERVERSION
72 spec.version = get_version.split('-')[0]
3973 spec.summary = 'Facter, a system inventory tool'
4074 spec.description = 'You can prove anything with facts!'
4175 spec.author = 'Puppet Labs'
4882 '--main' << 'README' <<
4983 '--line-numbers'
5084 end
51
52 Rake::PackageTask.new("facter", Facter::FACTERVERSION) do |pkg|
53 pkg.package_dir = 'pkg'
54 pkg.need_tar_gz = true
55 pkg.package_files = FILES.to_a
56 end
57
5885 Rake::GemPackageTask.new(spec) do |pkg|
5986 end
6087