From 0084e16b55ad54f7aeeffd6d003ea3506039d957 Mon Sep 17 00:00:00 2001 From: John Cater Date: Mon, 12 Mar 2018 18:50:56 -0700 Subject: Fix toolchain and execution platform registration to use patterns. This allows more flexibility in registering toolchains and execution platforms, both in the WORKSPACE and from the command-line. Change-Id: I6fe75507d1a74de74085b7c927fdf093c152b894 PiperOrigin-RevId: 188813688 --- .../build/lib/analysis/PlatformConfiguration.java | 22 ++++--- .../build/lib/analysis/PlatformOptions.java | 15 +++-- .../devtools/build/lib/packages/Package.java | 29 +++++---- .../build/lib/packages/WorkspaceFactory.java | 49 +++------------ .../build/lib/pkgcache/FilteringPolicies.java | 33 ++++++++++ .../RegisteredExecutionPlatformsFunction.java | 54 ++++++++++++++--- .../lib/skyframe/RegisteredToolchainsFunction.java | 64 +++++++++++++------- .../devtools/build/lib/skyframe/ToolchainUtil.java | 63 +++++++++++++++++++ .../build/lib/packages/WorkspaceFactoryTest.java | 36 ++++++----- .../lib/repository/ExternalPackageUtilTest.java | 34 +++++------ .../RegisteredExecutionPlatformsFunctionTest.java | 48 +++++++++++++++ .../skyframe/RegisteredToolchainsFunctionTest.java | 70 +++++++++++++++++++++- src/test/shell/bazel/toolchain_test.sh | 2 +- 13 files changed, 380 insertions(+), 139 deletions(-) (limited to 'src') diff --git a/src/main/java/com/google/devtools/build/lib/analysis/PlatformConfiguration.java b/src/main/java/com/google/devtools/build/lib/analysis/PlatformConfiguration.java index fefc871457..7b94b9379d 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/PlatformConfiguration.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/PlatformConfiguration.java @@ -34,17 +34,17 @@ import java.util.List; ) public class PlatformConfiguration extends BuildConfiguration.Fragment { private final Label hostPlatform; - private final ImmutableList