Skip to content

Commit

Permalink
Updating closure compiler command line for cpp header file generation
Browse files Browse the repository at this point in the history
Now use a flag file for this invocation of the Closure compiler to avoid
"command line too long" on Windows platforms.
  • Loading branch information
jimevans committed Mar 21, 2017
1 parent 24a5055 commit 6b781f3
Showing 1 changed file with 44 additions and 35 deletions.
79 changes: 44 additions & 35 deletions rake-tasks/crazy_fun/mappings/javascript.rb
Original file line number Diff line number Diff line change
Expand Up @@ -824,45 +824,54 @@ def handle(fun, dir, args)
formatting =
(ENV['pretty_print'] == 'true') ? "--formatting=PRETTY_PRINT" : ""

cmd = "java -cp third_party/closure/bin/compiler.jar com.google.javascript.jscomp.CommandLineRunner " <<
"--js_output_file=#{output} " <<
"--output_wrapper=\"#{wrapper}\" " <<
"--compilation_level=#{compilation_level(minify)} " <<
"--define=goog.NATIVE_ARRAY_PROTOTYPES=false " <<
"--define=bot.json.NATIVE_JSON=false " <<
"#{defines} " <<
"#{formatting} " <<
"--jscomp_off=unknownDefines " <<
"--jscomp_off=deprecated " <<
"--jscomp_error=accessControls " <<
"--jscomp_error=ambiguousFunctionDecl " <<
"--jscomp_error=checkDebuggerStatement " <<
"--jscomp_error=checkRegExp " <<
"--jscomp_error=checkTypes " <<
"--jscomp_error=checkVars " <<
"--jscomp_error=const " <<
"--jscomp_error=constantProperty " <<
"--jscomp_error=duplicate " <<
"--jscomp_error=duplicateMessage " <<
"--jscomp_error=externsValidation " <<
"--jscomp_error=fileoverviewTags " <<
"--jscomp_error=globalThis " <<
"--jscomp_error=internetExplorerChecks " <<
"--jscomp_error=invalidCasts " <<
"--jscomp_error=missingProperties " <<
"--jscomp_error=nonStandardJsDocs " <<
"--jscomp_error=strictModuleDepCheck " <<
"--jscomp_error=typeInvalidation " <<
"--jscomp_error=undefinedNames " <<
"--jscomp_error=undefinedVars " <<
"--jscomp_error=uselessCode " <<
"--jscomp_error=visibility " <<
"--js='" <<
all_deps.join("' --js='") << "'"
flags = []
flags.push("--js_output_file=#{output}")
flags.push("--output_wrapper=\"#{wrapper}\"")
flags.push("--compilation_level=#{compilation_level(minify)}")
flags.push("--define=goog.NATIVE_ARRAY_PROTOTYPES=false")
flags.push("--define=bot.json.NATIVE_JSON=false")
flags.push("#{defines}")
flags.push("#{formatting}")
flags.push("--jscomp_off=unknownDefines")
flags.push("--jscomp_off=deprecated")
flags.push("--jscomp_error=accessControls")
flags.push("--jscomp_error=ambiguousFunctionDecl")
flags.push("--jscomp_error=checkDebuggerStatement")
flags.push("--jscomp_error=checkRegExp")
flags.push("--jscomp_error=checkTypes")
flags.push("--jscomp_error=checkVars")
flags.push("--jscomp_error=const")
flags.push("--jscomp_error=constantProperty")
flags.push("--jscomp_error=duplicate")
flags.push("--jscomp_error=duplicateMessage")
flags.push("--jscomp_error=externsValidation")
flags.push("--jscomp_error=fileoverviewTags")
flags.push("--jscomp_error=globalThis")
flags.push("--jscomp_error=internetExplorerChecks")
flags.push("--jscomp_error=invalidCasts")
flags.push("--jscomp_error=missingProperties")
flags.push("--jscomp_error=nonStandardJsDocs")
flags.push("--jscomp_error=strictModuleDepCheck")
flags.push("--jscomp_error=typeInvalidation")
flags.push("--jscomp_error=undefinedNames")
flags.push("--jscomp_error=undefinedVars")
flags.push("--jscomp_error=uselessCode")
flags.push("--jscomp_error=visibility")

expanded_flags = flags.join(" ") <<
" --js='" <<
all_deps.join("' --js='") << "'"

mkdir_p File.dirname(output)

flag_file = File.join(File.dirname(output), "closure_flags.txt")
File.open(flag_file, 'w') {|f| f.write(expanded_flags)}

cmd = "java -cp third_party/closure/bin/compiler.jar com.google.javascript.jscomp.CommandLineRunner " <<
"--flagfile " << flag_file

sh cmd
rm_rf flag_file
end

output_task = Rake::Task[output]
Expand Down

0 comments on commit 6b781f3

Please sign in to comment.