"rake metaparser" and "rake minify" now always generate the target files.

Until now, these tasks looked at the file times and generated the target files
only when they were older than the source files. This caused problems when I
mainupulated the lib/metagrammar.* files by hand sometimes, replaced them from
backups after screw-ups, etc.
redux
David Majda 14 years ago
parent 51232fd652
commit c5cc545209

@ -3,11 +3,12 @@ require "uri"
version = File.read("VERSION").strip
file "lib/pegjs-runtime-#{version}.min.js" => "lib/runtime.js" do |t|
desc "Build the minified parser runtime"
task :minify do
response = Net::HTTP.post_form(
URI.parse("http://closure-compiler.appspot.com/compile"),
{
"js_code" => File.read(t.prerequisites.first),
"js_code" => File.read("lib/runtime.js"),
"compilation_level" => "SIMPLE_OPTIMIZATIONS",
"output_format" => "text",
"output_info" => "compiled_code"
@ -18,15 +19,10 @@ file "lib/pegjs-runtime-#{version}.min.js" => "lib/runtime.js" do |t|
abort "Error calling Google Closure Compiler API: #{response.message}"
end
File.open(t.name, "w") { |f| f.write(response.body) }
File.open("lib/pegjs-runtime-#{version}.min.js", "w") { |f| f.write(response.body) }
end
file "lib/metagrammar.js" => "lib/metagrammar.pegjs" do |t|
desc "Generate the grammar parser"
task :metaparser do
system "bin/pegjs --start-rule grammar PEG.grammarParser lib/metagrammar.pegjs"
end
desc "Build the minified parser runtime"
task :minify => "lib/pegjs-runtime-#{version}.min.js"
desc "Generate the grammar parser"
task :metaparser => "lib/metagrammar.js"

Loading…
Cancel
Save