breaking up distribution tasks; moving version to a template to have a simpler concat function

This commit is contained in:
Davis W. Frank
2011-06-14 08:30:14 -07:00
parent 2ba0aa371c
commit e59171935f
9 changed files with 93 additions and 23 deletions

View File

@@ -1,20 +1,20 @@
desc "Build core jasmine.js"
task :build_dist => :lint do
task :build_dist => [:lint, :write_version_file] do
puts 'Building Jasmine distribution from source'
concat_into('lib/jasmine.js') { [core_sources, version_source] }
require 'pp'
concat_into('lib/jasmine.js') { core_sources + version_source_file }
concat_into('lib/jasmine-html.js') { html_sources }
FileUtils.cp('src/html/jasmine.css', 'lib/jasmine.css')
end
def concat_into(output_file, &block)
files, extra = yield
files = yield
File.open(output_file, 'w') do |out|
files.each do |f|
out << File.read(f)
end
out << extra if extra
end
end
@@ -25,3 +25,20 @@ task :lint do
end
task :hint => :lint
task :write_version_file do
template = Tilt.new('src/templates/version.erb')
scope = OpenStruct.new(:major => version_hash["major"],
:minor => version_hash["minor"],
:build => version_hash["build"],
:revision => Time.now.to_i)
File.open('src/version.js', 'w+') do |f|
f << template.render(scope)
end
end
def version_source_file
Dir.glob('src/version.js')
end