You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've been having some build failures due to missing requires that I'm suspect of. In the case of this failure, the report is that a goog.require is missing for ol.expression.
Adding more detail to the messages from build.py (see #784), it looks like the script assumes lexer.js:791 is using something it hasn't goog.required. In this case, the ol.expression.Char object is defined in the same file.
The text was updated successfully, but these errors were encountered:
The checking missing requires code is pretty crude. It just uses longest possible string matching, and this can cause problems if substrings happen to match. In this case:
It detects that ol.expression is provided.in expression.js:1
There are no provides for ol.expression.Char
Therefore the longest match is ol.expression, which is not goog.required, causing the error message
Short of using a proper JavaScript parser to detect provides and requires, the quick workaround is probably to add goog.provide('ol.expression.Char);` to lexer.js.
Thanks for the explanation @twpayne. That's more or less what I arrived at, and 2cc1379ddeb1e32b6dc7038d16d932c14e288206 does indeed satisfy. I can't think of any ill effects of the extra goog.provide, so I think I'll close this issue.
I've been having some build failures due to missing requires that I'm suspect of. In the case of this failure, the report is that a
goog.require
is missing forol.expression
.Adding more detail to the messages from build.py (see #784), it looks like the script assumes lexer.js:791 is using something it hasn't
goog.require
d. In this case, theol.expression.Char
object is defined in the same file.The text was updated successfully, but these errors were encountered: