Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

131 lines (105 sloc) 3.17 kb
require 'rake/testtask'
task :default => :test
Rake::TestTask.new do |t|
t.libs << 'lib'
t.ruby_opts << '-rubygems'
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 lib"
end
desc "Build a gem"
task :gem => [ :gemspec, :build ]
desc "Build standalone script"
task :standalone => :load_hub do
require 'hub/standalone'
Hub::Standalone.save('hub')
end
desc "Build hub manual"
task "man:build" do
sh "ron -br5 --organization=DEFUNKT --manual='Git Manual' man/*.ron"
end
desc "Show hub manual"
task :man => "man:build" do
exec "man man/hub.1"
end
task :load_hub do
$LOAD_PATH.unshift 'lib'
require 'hub'
end
begin
require 'jeweler'
$LOAD_PATH.unshift 'lib'
require 'hub'
Jeweler::Tasks.new do |gemspec|
gemspec.name = "git-hub"
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"
gemspec.executables = ["hub"]
gemspec.post_install_message = <<-message
------------------------------------------------------------
You there! Wait, I say!
=======================
If you are a heavy user of `git` on the command
line you may want to install `hub` the old
fashioned way. Faster startup time, you see.
Check out the installation instructions at
http://github.com/defunkt/hub#readme under the
"Standalone" section.
Cheers,
defunkt
------------------------------------------------------------
message
end
rescue LoadError
puts "Jeweler not available."
puts "Install it with: gem install jeweler"
end
Rake::TaskManager.class_eval do
def remove_task(task_name)
@tasks.delete(task_name.to_s)
end
end
# Remove jewelers install task
Rake.application.remove_task(:install)
desc "Install standalone script and man pages"
task :install => :standalone do
prefix = ENV['PREFIX'] || ENV['prefix'] || '/usr/local'
FileUtils.mkdir_p "#{prefix}/bin"
FileUtils.cp "hub", "#{prefix}/bin"
FileUtils.mkdir_p "#{prefix}/share/man/man1"
FileUtils.cp "man/hub.1", "#{prefix}/share/man/man1"
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/git-hub-#{Hub::Version}.gem"
system "git clean -fd"
exec "rake pages"
end
desc "Publish to GitHub Pages"
task :pages => [ "man:build", :check_dirty, :standalone ] do
cp "man/hub.1.html", "html"
sh "git checkout gh-pages"
sh "mv hub standalone"
sh "git add standalone*"
sh "mv html hub.1.html"
sh "git add hub.1.html"
sh "git commit -m 'update standalone'"
sh "git push origin gh-pages"
sh "git checkout master"
puts :done
end
task :check_dirty do
if !`git status`.include?('nothing to commit')
abort "dirty index - not publishing!"
end
end
Jump to Line
Something went wrong with that request. Please try again.