38 lines
987 B
Ruby
38 lines
987 B
Ruby
|
#!/usr/bin/env ruby
|
||
|
|
||
|
namespace :gem do
|
||
|
require_relative "../lib/builders"
|
||
|
root = File.realpath File.join(__dir__, "..", "..")
|
||
|
version = File.binread(File.join(root, "VERSION")).chomp
|
||
|
|
||
|
desc "Build gemspec"
|
||
|
task :gemspec, [:version] do |t, args|
|
||
|
GemSpec.call(args.version || version)
|
||
|
end
|
||
|
|
||
|
desc "Copy files to stage directory"
|
||
|
task :copy, [:version] => [:gemspec] do |t, args|
|
||
|
Copy.call(args.version || version)
|
||
|
end
|
||
|
|
||
|
desc "Build gems"
|
||
|
task :build, [:version] => [:set_env, "nanoc:clean", "nanoc:build", :copy] do |t, args|
|
||
|
Build.call(args.version || version)
|
||
|
end
|
||
|
|
||
|
desc "Deploy gems"
|
||
|
task :deploy, [:version] => [:build] do |t, args|
|
||
|
Deploy.call(args.version || version)
|
||
|
end
|
||
|
|
||
|
task :set_env, [:version] => [:set_version] do |t,args|
|
||
|
ENV["buildenv"] ||= "production"
|
||
|
end
|
||
|
|
||
|
task :set_version, [:version] do |t,args|
|
||
|
next unless args.version
|
||
|
File.binwrite File.join(root, "VERSION"),
|
||
|
"#{args.version}\n"
|
||
|
end
|
||
|
end
|