Add the ability to release jekyll-docs with the right site.
This commit is contained in:
parent
5d66a12ed4
commit
391960b55f
|
@ -1,14 +1,24 @@
|
|||
require "bundler/gem_tasks"
|
||||
task :build => :init
|
||||
task :default => :init
|
||||
|
||||
def jekyll_version
|
||||
def name
|
||||
"jekyll-docs".freeze
|
||||
end
|
||||
|
||||
def gemspec_file
|
||||
"#{name}.gemspec"
|
||||
end
|
||||
|
||||
def gem_file
|
||||
"#{name}-#{version}.gem"
|
||||
end
|
||||
|
||||
def version
|
||||
ENV.fetch('JEKYLL_VERSION')
|
||||
end
|
||||
|
||||
task :init do
|
||||
sh "git clone git://github.com/jekyll/jekyll.git jekyll" unless Dir.exist? "jekyll/.git"
|
||||
Dir.chdir("jekyll") { sh "git checkout v#{jekyll_version}" }
|
||||
Dir.chdir("jekyll") { sh "git checkout v#{version}" }
|
||||
rm_rf "site"
|
||||
cp_r "jekyll/site", "site"
|
||||
end
|
||||
|
@ -17,3 +27,29 @@ task :teardown do
|
|||
rm_rf "site"
|
||||
rm_rf "jekyll"
|
||||
end
|
||||
|
||||
#############################################################################
|
||||
#
|
||||
# Packaging tasks
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
desc "Release #{name} v#{version}"
|
||||
task :release => :build do
|
||||
unless `git branch` =~ /^\* master$/
|
||||
puts "You must be on the master branch to release!"
|
||||
exit!
|
||||
end
|
||||
unless `git diff`.empty?
|
||||
puts "We cannot proceed with uncommitted changes!"
|
||||
exit!
|
||||
end
|
||||
sh "gem push pkg/#{name}-#{version}.gem"
|
||||
end
|
||||
|
||||
desc "Build #{name} v#{version} into pkg/"
|
||||
task :build => :init do
|
||||
mkdir_p "pkg"
|
||||
sh "gem build #{gemspec_file}"
|
||||
sh "mv #{gem_file} pkg"
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue