Open aabeling opened 2 years ago
Just in case it can help anyone, I workaround this limitation by registering a new include
tag that ignores the exception:
private static class IncludeTag extends com.hubspot.jinjava.lib.tag.IncludeTag implements Tag {
@Override
public String interpret(TagNode tagNode, JinjavaInterpreter interpreter) {
try {
return super.interpret(tagNode,interpreter);
} catch (InterpretException e) {
if ( ignoreMissing(tagNode) && e.getCause() instanceof com.hubspot.jinjava.loader.ResourceNotFoundException) {
return "";
}
throw e;
}
}
private boolean ignoreMissing(TagNode tagNode) {
HelperStringTokenizer helper = new HelperStringTokenizer(tagNode.getHelpers());
List<String> all = helper.allTokens();
return (all.contains("ignore") && all.indexOf("missing") == all.indexOf("ignore") + 1);
}
}
Please see my pull request #832.