hub/Rakefile

94 строки
2.1 KiB
Ruby
Исходник Обычный вид История

2009-12-08 09:28:03 +03:00
require 'rake/testtask'
2009-12-06 01:15:59 +03:00
task :default => :test
2009-12-08 09:28:03 +03:00
Rake::TestTask.new do |t|
t.libs << 'lib'
t.pattern = 'test/**/*_test.rb'
t.verbose = false
end
desc "Launch Kicker (like autotest)"
task :kicker do
puts "Kicking... (ctrl+c to cancel)"
exec "kicker -e rake test bin"
end
2009-12-08 11:26:59 +03:00
desc "Build a gem"
task :gem => [ :gemspec, :build ]
begin
require 'jeweler'
$LOAD_PATH.unshift 'lib'
2009-12-08 11:49:09 +03:00
require 'hub'
2009-12-08 11:26:59 +03:00
Jeweler::Tasks.new do |gemspec|
2009-12-08 11:53:46 +03:00
gemspec.name = "hub/version"
2009-12-08 11:26:59 +03:00
gemspec.summary = gemspec.description = "hub introduces git to GitHub"
gemspec.homepage = "http://github.com/defunkt/hub"
gemspec.version = Hub::Version
gemspec.authors = ["Chris Wanstrath"]
gemspec.email = "chris@ozmm.org"
end
rescue LoadError
puts "Jeweler not available."
puts "Install it with: gem install jeweler"
end
desc "Push a new version to Gemcutter"
task :publish => [ :test, :gemspec, :build ] do
system "git tag v#{Hub::Version}"
system "git push origin v#{Hub::Version}"
system "git push origin master"
system "gem push pkg/hub-#{Hub::Version}.gem"
system "git clean -fd"
2009-12-08 12:14:16 +03:00
exec "rake pages"
2009-12-08 11:26:59 +03:00
end
2009-12-08 12:14:16 +03:00
desc "Publish to GitHub Pages"
task :pages => [ :check_dirty, :standalone ] do
`git checkout gh-pages`
2009-12-08 12:25:52 +03:00
`md5 -q standalone > standalone.md5`
`git add standalone*`
2009-12-08 12:16:17 +03:00
`git commit -m "update standalone"`
`git push origin gh-pages`
2009-12-08 12:14:16 +03:00
`git checkout master`
2009-12-08 12:16:17 +03:00
puts :done
2009-12-08 12:14:16 +03:00
end
task :check_dirty do
if !`git status`.include?('nothing to commit')
abort "dirty index - not publishing!"
end
end
2009-12-08 12:16:17 +03:00
module Standalone
PREAMBLE = <<-premable
#!/usr/bin/env ruby
#
# This file, hub, is generated code.
# Please DO NOT EDIT or send patches for it.
#
# Please take a look at the source from
# http://github.com/defunkt/hub
# and submit patches against the individual files
# that build hub.
#
premable
POSTAMBLE = "Hub::Runner.execute(*ARGV)"
end
desc "Build standalone script"
task :standalone => :test do
File.open('standalone', 'w') do |f|
f.puts Standalone::PREAMBLE
Dir['lib/*/**'].each do |file|
2009-12-08 12:25:07 +03:00
File.readlines(file).each do |line|
next if line =~ /^\s*#/
f.puts line
end
2009-12-08 12:16:17 +03:00
end
f.puts Standalone::POSTAMBLE
end
end