| #!/home/me/.rvm/rubies/ruby-2.2.0/bin/rake -f | |
| require 'logger' | |
| require 'logger/colors' | |
| module FileUtils | |
| alias_method :orig_sh, :sh | |
| def osh(*cmd, &block) | |
| bin = [*cmd].first | |
| task_name = "override_#{bin}" | |
| return orig_sh(*cmd, &block) unless Rake::Task.task_defined?(task_name) | |
| task = Rake::Task[task_name] | |
| return orig_sh(*cmd, &block) if task.arg_names.size != 0 | |
| task.instance_eval do | |
| @command = [*cmd] | |
| self.class.send(:attr_reader, :command) | |
| end | |
| task.invoke | |
| end | |
| end | |
| def override(*args, &block) | |
| args = [*args] | |
| args[0] = "override_#{args[0]}" | |
| task(*args, &block) | |
| end | |
| @log = Logger.new(STDERR).tap do |l| | |
| l.level = Logger::INFO | |
| l.progname = 'rules' | |
| end | |
| task :clean do |t| | |
| @log.info t.inspect | |
| osh 'dh_testdir' | |
| osh 'dh_auto_clean' | |
| osh 'dh_clean' | |
| end | |
| task :configure do |t| | |
| @log.info t.inspect | |
| osh 'dh_testdir' | |
| osh 'dh_auto_configure' | |
| end | |
| task :build => :configure do |t| | |
| @log.info t.inspect | |
| osh 'dh_testdir' | |
| osh 'dh_auto_build' | |
| osh 'dh_auto_test' | |
| end | |
| task 'build-indep' => :build do |t| | |
| @log.info t.inspect | |
| end | |
| task 'build-arch' => :build do |t| | |
| @log.info t.inspect | |
| end | |
| task :install => :build do |t| | |
| osh 'dh_testroot' | |
| osh 'dh_prep' | |
| osh 'dh_installdirs' | |
| osh 'dh_auto_install' | |
| osh 'dh_install' | |
| osh 'dh_installdocs' | |
| osh 'dh_installchangelogs' | |
| osh 'dh_installexamples' | |
| osh 'dh_installman' | |
| osh 'dh_installcatalogs' | |
| osh 'dh_installcron' | |
| osh 'dh_installdebconf' | |
| osh 'dh_installemacsen' | |
| osh 'dh_installifupdown' | |
| osh 'dh_installinfo' | |
| osh 'dh_installinit' | |
| osh 'dh_installmenu' | |
| osh 'dh_installmime' | |
| osh 'dh_installmodules' | |
| osh 'dh_installlogcheck' | |
| osh 'dh_installlogrotate' | |
| osh 'dh_installpam' | |
| osh 'dh_installppp' | |
| osh 'dh_installudev' | |
| osh 'dh_installwm' | |
| osh 'dh_installxfonts' | |
| osh 'dh_bugfiles' | |
| osh 'dh_lintian' | |
| osh 'dh_gconf' | |
| osh 'dh_icons' | |
| osh 'dh_perl' | |
| osh 'dh_usrlocal' | |
| osh 'dh_link' | |
| osh 'dh_compress' | |
| osh 'dh_fixperms' | |
| end | |
| task 'install-indep' => 'build-indep' do |t| | |
| @log.info t.inspect | |
| Rake::Task[:install].invoke | |
| end | |
| task 'install-arch' => 'build-arch' do |t| | |
| @log.info t.inspect | |
| Rake::Task[:install].invoke | |
| end | |
| task 'binary-indep' => 'install-indep' do |t| | |
| @log.info t.inspect | |
| osh 'dh_installdeb' | |
| osh 'dh_gencontrol' | |
| osh 'dh_md5sums' | |
| osh 'dh_builddeb' | |
| end | |
| task 'binary-arch' => 'install-indep' do |t| | |
| @log.info t.inspect | |
| osh 'dh_strip' | |
| osh 'dh_makeshlibs' | |
| osh 'dh_shlibdeps' | |
| Rake::Task['binary-indep'].invoke | |
| end | |
| task :binary => :install do |t| | |
| @log.info t.inspect | |
| Rake::Task['binary-arch'].invoke | |
| end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment