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"