125 lines
2 KiB
Ruby
125 lines
2 KiB
Ruby
|
|
NAME="qasim"
|
|
DESTDIR=""
|
|
DEV_DESTDIR="tmp"
|
|
CONFDIR="#{DESTDIR}/etc"
|
|
BINDIR="#{DESTDIR}/usr/bin"
|
|
MANDIR="#{DESTDIR}/usr/share/man"
|
|
DOCDIR="#{DESTDIR}/usr/share/doc"
|
|
SHAREDIR="#{DESTDIR}/usr/share"
|
|
|
|
RUBYVERSION="2.0"
|
|
RDOC="rdoc#{RUBYVERSION}"
|
|
|
|
QRC_FILES=Dir.glob("lib/#{NAME}/*.qrc")
|
|
RBQRC_FILES=QRC_FILES.map{ |f| f.sub(/\.qrc$/,'_qrc.rb') }
|
|
RBQRC_TO_QRC = lambda{|f| f.gsub(/_qrc\.rb/,'.qrc') }
|
|
|
|
UI_FILES=Dir.glob("lib/#{NAME}/ui/*.ui")
|
|
RBUI_FILES=UI_FILES.map{ |f| f.sub(/\.ui$/,'_ui.rb') }
|
|
|
|
require 'rake'
|
|
#Rake.application.options.trace_rules = true
|
|
|
|
|
|
desc "Default task (build)"
|
|
task :all => :build
|
|
|
|
desc "Clean everything"
|
|
task :clean => [
|
|
:"ui:clean",
|
|
:"qrc:clean",
|
|
:"gem:clean"
|
|
]
|
|
|
|
desc "Build everything"
|
|
task :build => [
|
|
:"ui:build",
|
|
:"qrc:build",
|
|
:"doc:build",
|
|
:"gem:build"
|
|
]
|
|
|
|
|
|
namespace :data do
|
|
task :build do
|
|
end
|
|
|
|
task :clean do
|
|
end
|
|
end
|
|
|
|
|
|
namespace :doc do
|
|
task :clean do
|
|
rm_rf "doc"
|
|
end
|
|
|
|
task :build => :clean do
|
|
sh %Q{#{RDOC}
|
|
--promiscuous
|
|
--inline-source
|
|
--line-numbers
|
|
-o doc
|
|
lib/#{NAME}/
|
|
bin/
|
|
}
|
|
end
|
|
end
|
|
|
|
|
|
namespace :qrc do
|
|
desc "Clean QRC files"
|
|
task :clean do
|
|
rm_rf RBQRC_FILES
|
|
end
|
|
|
|
desc "Build QRC files"
|
|
task :build => RBQRC_FILES do
|
|
puts RBQRC_FILES
|
|
end
|
|
|
|
rule "_qrc.rb" => RBQRC_TO_QRC do |t|
|
|
sh %Q{rbrcc #{t.source} -o #{t.name}}
|
|
end
|
|
end
|
|
|
|
|
|
namespace :ui do
|
|
desc "Clean UI files"
|
|
task :clean do
|
|
rm_rf RBUI_FILES
|
|
end
|
|
|
|
desc "Build UI files"
|
|
task :build => RBUI_FILES do
|
|
puts RBQRC_FILES
|
|
end
|
|
|
|
rule "_ui.rb" => lambda{|f| f.gsub(/_ui\.rb/,'.ui') } do |t|
|
|
sh %Q{rbuic4 #{t.source} -o #{t.name}}
|
|
sh %Q{sed -e '/^module Ui/,/^end # module Ui/d' -i #{t.name}}
|
|
end
|
|
end
|
|
|
|
|
|
namespace :gem do
|
|
require "bundler/gem_tasks"
|
|
|
|
desc "Clean stalling gem files from the pkg directory"
|
|
task :clean do
|
|
rm_rf Dir.glob('pkg/*.gem')
|
|
end
|
|
end
|
|
|
|
|
|
require "bundler/gem_tasks"
|
|
require 'rake/testtask'
|
|
|
|
Rake::TestTask.new do |t|
|
|
#t.warning = true
|
|
#t.verbose = true
|
|
t.libs << "spec"
|
|
t.test_files = FileList['spec/**/*_spec.rb']
|
|
end
|
|
|