aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/proto
diff options
context:
space:
mode:
authorGravatar ulfjack <ulfjack@google.com>2017-10-10 10:45:56 +0200
committerGravatar Marcel Hlopko <hlopko@google.com>2017-10-10 11:25:05 +0200
commit312d719a99e7c1b4508a92f84936e7f041ff86c3 (patch)
tree62a7329887cc80cd4531368236b1cb215bf2228d /src/main/java/com/google/devtools/build/lib/rules/proto
parent16ee62a05483124601945a5fbeb9db013590b9a5 (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.java21
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.