aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java32
1 files changed, 18 insertions, 14 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java
index 0222fd1b9d..702f6afb25 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java
@@ -24,6 +24,7 @@ import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
import com.google.devtools.build.lib.cmdline.LabelValidator;
import com.google.devtools.build.lib.events.Event;
+import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.events.NullEventHandler;
import com.google.devtools.build.lib.events.StoredEventHandler;
import com.google.devtools.build.lib.packages.Package.NameConflictException;
@@ -326,8 +327,9 @@ public class WorkspaceFactory {
if (errorMessage != null) {
throw new EvalException(ast.getLocation(), errorMessage);
}
- PackageFactory.getContext(env, ast).pkgBuilder.setWorkspaceName(name);
- Package.Builder builder = PackageFactory.getContext(env, ast).pkgBuilder;
+ PackageFactory.getContext(env, ast.getLocation()).pkgBuilder.setWorkspaceName(name);
+ Package.Builder builder =
+ PackageFactory.getContext(env, ast.getLocation()).pkgBuilder;
RuleClass localRepositoryRuleClass = ruleFactory.getRuleClass("local_repository");
RuleClass bindRuleClass = ruleFactory.getRuleClass("bind");
Map<String, Object> kwargs =
@@ -365,7 +367,7 @@ public class WorkspaceFactory {
try {
nameLabel = Label.parseAbsolute("//external:" + name);
try {
- Package.Builder builder = PackageFactory.getContext(env, ast).pkgBuilder;
+ Package.Builder builder = PackageFactory.getContext(env, ast.getLocation()).pkgBuilder;
RuleClass ruleClass = ruleFactory.getRuleClass("bind");
WorkspaceFactoryHelper.addBindRule(
builder,
@@ -400,7 +402,7 @@ public class WorkspaceFactory {
generic1 = String.class,
doc = "The labels of the platforms to register."
),
- useAst = true,
+ useLocation = true,
useEnvironment = true
)
private static final BuiltinFunction.Factory newRegisterExecutionPlatformsFunction =
@@ -409,9 +411,9 @@ public class WorkspaceFactory {
return new BuiltinFunction(
"register_execution_platforms",
FunctionSignature.POSITIONALS,
- BuiltinFunction.USE_AST_ENV) {
+ BuiltinFunction.USE_LOC_ENV) {
public Object invoke(
- SkylarkList<String> platformLabels, FuncallExpression ast, Environment env)
+ SkylarkList<String> platformLabels, Location location, Environment env)
throws EvalException, InterruptedException {
// Collect the platform labels.
@@ -421,7 +423,7 @@ public class WorkspaceFactory {
platforms.add(Label.parseAbsolute(rawLabel));
} catch (LabelSyntaxException e) {
throw new EvalException(
- ast.getLocation(),
+ location,
String.format(
"In register_execution_platforms: unable to parse platform label %s: %s",
rawLabel, e.getMessage()),
@@ -430,7 +432,8 @@ public class WorkspaceFactory {
}
// Add to the package definition for later.
- Package.Builder builder = PackageFactory.getContext(env, ast).pkgBuilder;
+ Package.Builder builder =
+ PackageFactory.getContext(env, location).pkgBuilder;
builder.addRegisteredExecutionPlatformLabels(platforms);
return NONE;
@@ -453,16 +456,16 @@ public class WorkspaceFactory {
generic1 = String.class,
doc = "The labels of the toolchains to register."
),
- useAst = true,
+ useLocation = true,
useEnvironment = true
)
private static final BuiltinFunction.Factory newRegisterToolchainsFunction =
new BuiltinFunction.Factory("register_toolchains") {
public BuiltinFunction create(final RuleFactory ruleFactory) {
return new BuiltinFunction(
- "register_toolchains", FunctionSignature.POSITIONALS, BuiltinFunction.USE_AST_ENV) {
+ "register_toolchains", FunctionSignature.POSITIONALS, BuiltinFunction.USE_LOC_ENV) {
public Object invoke(
- SkylarkList<String> toolchainLabels, FuncallExpression ast, Environment env)
+ SkylarkList<String> toolchainLabels, Location location, Environment env)
throws EvalException, InterruptedException {
// Collect the toolchain labels.
@@ -473,7 +476,7 @@ public class WorkspaceFactory {
toolchains.add(Label.parseAbsolute(rawLabel));
} catch (LabelSyntaxException e) {
throw new EvalException(
- ast.getLocation(),
+ location,
String.format(
"In register_toolchains: unable to parse toolchain label %s: %s",
rawLabel, e.getMessage()),
@@ -482,7 +485,8 @@ public class WorkspaceFactory {
}
// Add to the package definition for later.
- Package.Builder builder = PackageFactory.getContext(env, ast).pkgBuilder;
+ Package.Builder builder =
+ PackageFactory.getContext(env, location).pkgBuilder;
builder.addRegisteredToolchainLabels(toolchains);
return NONE;
@@ -502,7 +506,7 @@ public class WorkspaceFactory {
public Object invoke(Map<String, Object> kwargs, FuncallExpression ast, Environment env)
throws EvalException, InterruptedException {
try {
- Package.Builder builder = PackageFactory.getContext(env, ast).pkgBuilder;
+ Package.Builder builder = PackageFactory.getContext(env, ast.getLocation()).pkgBuilder;
if (!allowOverride
&& kwargs.containsKey("name")
&& builder.targets.containsKey(kwargs.get("name"))) {