diff options
author | ulfjack <ulfjack@google.com> | 2017-10-10 10:45:56 +0200 |
---|---|---|
committer | Marcel Hlopko <hlopko@google.com> | 2017-10-10 11:25:05 +0200 |
commit | 312d719a99e7c1b4508a92f84936e7f041ff86c3 (patch) | |
tree | 62a7329887cc80cd4531368236b1cb215bf2228d /src/main/java/com/google/devtools/build/lib/rules/proto | |
parent | 16ee62a05483124601945a5fbeb9db013590b9a5 (diff) |
Move the MakeVariableExpander to a new package
Rename it to TemplateExpander and start rewriting the documentation to refer
to template variables.
PiperOrigin-RevId: 171648255
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/proto')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java index 4e1c87ab10..e0410dbb4d 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java @@ -31,7 +31,6 @@ import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.ParameterFile.ParameterFileType; import com.google.devtools.build.lib.actions.ResourceSet; import com.google.devtools.build.lib.analysis.FilesToRunProvider; -import com.google.devtools.build.lib.analysis.MakeVariableExpander; import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.actions.CustomCommandLine; import com.google.devtools.build.lib.analysis.actions.CustomCommandLine.VectorArg; @@ -39,6 +38,9 @@ import com.google.devtools.build.lib.analysis.actions.FileWriteAction; import com.google.devtools.build.lib.analysis.actions.ParamFileInfo; import com.google.devtools.build.lib.analysis.actions.SpawnAction; import com.google.devtools.build.lib.analysis.configuredtargets.RuleConfiguredTarget; +import com.google.devtools.build.lib.analysis.stringtemplate.ExpansionException; +import com.google.devtools.build.lib.analysis.stringtemplate.TemplateContext; +import com.google.devtools.build.lib.analysis.stringtemplate.TemplateExpander; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; @@ -191,17 +193,20 @@ public class ProtoCompileActionBuilder { @Override public String toString() { try { - return MakeVariableExpander.expand( + return TemplateExpander.expand( template, - new MakeVariableExpander.Context() { + new TemplateContext() { @Override - public String lookupMakeVariable(String var) - throws MakeVariableExpander.ExpansionException { - CharSequence value = variableValues.get(var); - return value != null ? value.toString() : var; + public String lookupVariable(String name) + throws ExpansionException { + CharSequence value = variableValues.get(name); + if (value == null) { + throw new ExpansionException(String.format("$(%s) not defined", name)); + } + return value.toString(); } }); - } catch (MakeVariableExpander.ExpansionException e) { + } catch (ExpansionException e) { // Squeelch. We don't throw this exception in the lookupMakeVariable implementation above, // and we can't report it here anyway, because this code will typically execute in the // Execution phase. |