Build system: rake target for building a source tarball

This commit is contained in:
Moritz Bunkus 2014-09-01 15:16:04 +02:00
parent a2fd94093b
commit 291890ca30
2 changed files with 34 additions and 0 deletions

View File

@ -35,6 +35,7 @@ require_relative "rake.d/target"
require_relative "rake.d/application"
require_relative "rake.d/library"
require_relative "rake.d/format_string_verifier"
require_relative "rake.d/tarball"
require_relative 'rake.d/gtest' if $have_gtest
def setup_globals
@ -480,6 +481,17 @@ namespace :dev do
formatter.write doc, File.open(qrc, "w")
end
end
desc "Create source code tarball from current version in .."
task :tarball do
create_source_tarball
end
desc "Create source code tarball from current version in .. with git revision in name"
task "tarball-rev" do
revision = `git rev-parse --short HEAD`.chomp
create_source_tarball "-#{revision}"
end
end
# Installation tasks

22
rake.d/tarball.rb Normal file
View File

@ -0,0 +1,22 @@
def create_source_tarball suffix = ""
require "tmpdir"
tarball = "#{Dir.pwd}/../mkvtoolnix-#{c(:VERSION)}#{suffix}.tar.xz"
fail "#{tarball} does already exist" if FileTest.exists?(tarball)
Dir.mktmpdir do |dir|
clone_dir = "#{dir}/mkvtoolnix-#{c(:VERSION)}"
commands = [
"git clone \"#{Dir.pwd}\" \"#{clone_dir}\"",
"cd #{clone_dir}",
"./autogen.sh",
"git submodule init",
"git submodule update",
"rm -rf .git",
"mv debian-upstream debian",
"cd ..",
"tar cJf \"#{tarball}\" mkvtoolnix-#{c(:VERSION)}",
]
system commands.join(" && ")
end
end