google/blockly-games

"STRICT" is not a valid value for "--dependency_mode"

vincentsunhao opened this issue · 5 comments

make index-en or make en
mkdir -p appengine/generated/en/
java -jar third-party-downloads/SoyToJsSrcCompiler.jar --shouldProvideRequireSoyNamespaces --isUsingIjData --outputPathFormat appengine/index/generated/en/soy.js --srcs appengine/index/template.soy
python build-app.py index en
Scanning for Blockly messages in index...
"STRICT" is not a valid value for "--dependency_mode"
Sample usage: --compilation_level (-O) VAL --externs VAL --js VAL --js_output_file VAL --warning_level (-W) [QUIET | DEFAULT | VERBOSE]
Run with --help for all options and details
Compressed to 0 KB.
Found 0 Blockly messages.
Compiling Index - en
third-party-downloads/build/closurebuilder.py: Scanning paths...
"STRICT" is not a valid value for "--dependency_mode"
Sample usage: --compilation_level (-O) VAL --externs VAL --js VAL --js_output_file VAL --warning_level (-W) [QUIET | DEFAULT | VERBOSE]
Run with --help for all options and details
Compressed to 0 KB.
third-party-downloads/build/closurebuilder.py: 742 sources scanned.
third-party-downloads/build/closurebuilder.py: Building dependency tree..
Traceback (most recent call last):
File "third-party-downloads/build/closurebuilder.py", line 293, in
main()
File "third-party-downloads/build/closurebuilder.py", line 253, in main
out.writelines([js_source.GetPath() + '\n' for js_source in deps])
TypeError: a bytes-like object is required, not 'str'
Found 0 dependencies.

Wonderful, the API for Closure Compiler has changed. Yet its documentation has not:

https://github.com/google/closure-compiler/wiki/Managing-Dependencies#using---dependency_mode-to-drop-unreferenced-files

As a temporary work-around, you can comment out line 217 of build-app.py.

I've changed STRICT to PRUNE since that seems to work. But there is no documentation about what PRUNE does, so I'm going to leave this bug open until Closure Compiler addresses their documentation issue.

thanks. fixed.

I want to keep this issue open until we actually know what PRUNE means. It's probably right, but without any documentation from Closure it's just a wild guess. The correct option might be PRUNE_LEGACY, whatever that is. We just don't know.

Closure Compiler confirms that PRUNE is correct and have updated their docs.