diff options
author | plf <plf@google.com> | 2018-08-07 01:59:04 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-08-07 02:00:54 -0700 |
commit | 6d4cc4c910a92c9de664ef99b7b2c3681f8d9cf1 (patch) | |
tree | 618d2d5c85c429aa137682e4a424114c1cf9c498 /src/main/java/com/google/devtools/build/lib/rules | |
parent | 9f3e622aedd7fbad12e02eac556146124c492e57 (diff) |
C++: Stops passing workspace to whitelist check of providers
The workspace changes from user to user and it shouldn't be taken into account.
RELNOTES:none
PiperOrigin-RevId: 207679881
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules')
3 files changed, 9 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java index 9fc2f5e029..321d3755ec 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCommon.java @@ -224,10 +224,7 @@ public final class CcCommon { public static void checkLocationWhitelisted( SkylarkSemantics semantics, Location location, String callPath) throws EvalException { List<String> whitelistedPackagesList = semantics.experimentalCcSkylarkApiEnabledPackages(); - if (whitelistedPackagesList - .stream() - .noneMatch( - path -> callPath.startsWith(path) || callPath.startsWith("/workspace/" + path))) { + if (whitelistedPackagesList.stream().noneMatch(path -> callPath.startsWith(path))) { throwWhiteListError(location, callPath, whitelistedPackagesList); } } diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationInfo.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationInfo.java index ca3a3d0733..7c3d6cf7ec 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationInfo.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcCompilationInfo.java @@ -78,7 +78,10 @@ public final class CcCompilationInfo extends NativeInfo implements CcCompilation @SuppressWarnings("unchecked") protected CcCompilationInfo createInstanceFromSkylark( Object[] args, Environment env, Location loc) throws EvalException { - CcCommon.checkLocationWhitelisted(env.getSemantics(), loc, loc.getPath().toString()); + CcCommon.checkLocationWhitelisted( + env.getSemantics(), + loc, + env.getGlobals().getTransitiveLabel().getPackageIdentifier().toString()); CcCompilationInfo.Builder ccCompilationInfoBuilder = CcCompilationInfo.Builder.create(); CcCompilationContext.Builder ccCompilationContext = new CcCompilationContext.Builder(/* ruleContext= */ null); diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingInfo.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingInfo.java index e94be13775..8ec5841416 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingInfo.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingInfo.java @@ -77,7 +77,10 @@ public final class CcLinkingInfo extends NativeInfo implements CcLinkingInfoApi @SuppressWarnings("unchecked") protected CcLinkingInfo createInstanceFromSkylark( Object[] args, Environment env, Location loc) throws EvalException { - CcCommon.checkLocationWhitelisted(env.getSemantics(), loc, loc.getPath().toString()); + CcCommon.checkLocationWhitelisted( + env.getSemantics(), + loc, + env.getGlobals().getTransitiveLabel().getPackageIdentifier().toString()); int i = 0; CcLinkParams staticModeParamsForDynamicLibrary = (CcLinkParams) nullIfNone(args[i++]); CcLinkParams staticModeParamsForExecutable = (CcLinkParams) nullIfNone(args[i++]); |