From c5cc545209b76df0cb76a50d4261385f2f030e5f Mon Sep 17 00:00:00 2001 From: David Majda Date: Sun, 11 Apr 2010 11:05:44 +0200 Subject: [PATCH] "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. --- Rakefile | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/Rakefile b/Rakefile index 3869a45..380910f 100644 --- a/Rakefile +++ b/Rakefile @@ -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"