Ship a ChangeLog generated from "git log".
[snett.git] / Rakefile
1 require "rake/clean"
2 require "rake/packagetask"
3 require "rake/contrib/sshpublisher"
4
5 PKG_NAME = "snett"
6 PKG_VERSION = File.read("bin/snett").
7               match(/^\s*VERSION = \"(.*)\"\s$/).captures.first
8
9 CLOBBER.include("ChangeLog")
10
11 file "ChangeLog" do
12         sh("git-log > ChangeLog")
13 end
14
15 task :install do
16         destdir = ENV["DESTDIR"] || ""
17         prefix = ENV["PREFIX"] || "/usr/local"
18
19         ddir = destdir + prefix + "/bin"
20
21         FileUtils::Verbose.mkdir_p(ddir) unless File.directory?(ddir)
22         FileUtils::Verbose.install("bin/snett", ddir, :mode => 0755)
23
24         ddir = destdir + prefix + "/share/snett"
25
26         FileUtils::Verbose.mkdir_p(ddir) unless File.directory?(ddir)
27         FileUtils::Verbose.install(Dir["data/*"], ddir, :mode => 0644)
28 end
29
30 task :package => ["ChangeLog"]
31
32 Rake::PackageTask.new(PKG_NAME, PKG_VERSION) do |t|
33         t.need_tar_gz = true
34         t.package_files.include("[A-Z]*", "ChangeLog",
35                                 "bin/snett", "data/logo*")
36 end
37
38 task :publish => [:package] do
39         Rake::SshFilePublisher.
40                 new("code-monkey.de", ".",
41                 "pkg", "#{PKG_NAME}-#{PKG_VERSION}.tar.gz").
42             upload
43 end