I’m getting this warning/error when I try to package a C++ project for HTML5:
Closure compiler (C:\Program Files\Epic Games\4.12\Engine\Source\ThirdParty\HTML5\emsdk\emscripten\1.35.0\third_party\closure-compiler\compiler.jar) does not exist, check the paths in C:\Program Files\Epic Games\4.12\Engine\Intermediate\Build\HTML5.emscripten
Which makes sense, because there is no third_party folder in the 4.12\Engine\Source\…\emscripten\1.35.0\ folder.
My question is, why does this folder not exist?
It does exist in 4.11 (4.11\Engine\Source\…\emscripten\1.35.0), which I have copied to 4.12 to make it work for now, but it should off course work out-of-the-box without having to do this.
I think this is by accident. UE4 removed that directory from their distribution to clean up unneeded files from Emscripten tree. UE4 has not used the Closure compiler, but uses the Emscripten code minifier instead (the default recommended), which does the same job, but in a way that is better compatible with asm.js code syntax.
Do builds fail for you when that directory is not present? If so, it could be for some other reason, since that is only a warning message that shouldn’t halt the build process. Filed this issue to Emscripten to clean up the warning: Closure compiler is expected to be available · Issue #4287 · emscripten-core/emscripten · GitHub
The warning doesn’t halt or break anything as far as I know, but I thought something was going wrong internally which is why I tried to fix it. If nothing is going wrong, I’ll just ignore the warning.