aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java
diff options
context:
space:
mode:
authorGravatar brandjon <brandjon@google.com>2017-10-23 19:02:31 +0200
committerGravatar Dmitry Lomov <dslomov@google.com>2017-10-24 10:39:30 +0200
commitdbff8b81bec72dd0f8a2fef825128e5f33c650d0 (patch)
tree68ba03941dfb5647a567848252b9f98033395b54 /src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java
parente287d4bf333e412033c8f484018cc431100eeee6 (diff)
Propagate skylark flags to WORKSPACE and repo rules
RELNOTES: Skylark semantics flags now affect WORKSPACE files and repository rules. PiperOrigin-RevId: 173130286
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java
index 71f2c98ff6..3f0f3f8ec2 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java
@@ -27,6 +27,7 @@ import com.google.devtools.build.lib.skyframe.WorkspaceFileValue.WorkspaceFileKe
import com.google.devtools.build.lib.syntax.BuildFileAST;
import com.google.devtools.build.lib.syntax.Environment.Extension;
import com.google.devtools.build.lib.syntax.Mutability;
+import com.google.devtools.build.lib.syntax.SkylarkSemantics;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.RootedPath;
import com.google.devtools.build.skyframe.SkyFunction;
@@ -66,6 +67,10 @@ public class WorkspaceFileFunction implements SkyFunction {
if (workspaceASTValue == null) {
return null;
}
+ SkylarkSemantics skylarkSemantics = PrecomputedValue.SKYLARK_SEMANTICS.get(env);
+ if (skylarkSemantics == null) {
+ return null;
+ }
Path repoWorkspace = workspaceRoot.getRoot().getRelative(workspaceRoot.getRelativePath());
Package.Builder builder = packageFactory.newExternalPackageBuilder(
@@ -112,7 +117,7 @@ public class WorkspaceFileFunction implements SkyFunction {
if (importResult == null) {
return null;
}
- parser.execute(ast, importResult.importMap);
+ parser.execute(ast, importResult.importMap, skylarkSemantics);
} catch (NoSuchPackageException e) {
throw new WorkspaceFileFunctionException(e, Transience.PERSISTENT);
} catch (NameConflictException e) {