aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Greg Estren <gregce@google.com>2016-11-15 19:11:28 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2016-11-16 15:56:40 +0000
commit60751d02cf9e2d78ab5d4bf9fee0006b8adcf453 (patch)
tree0f8ef6fed1f56f2c890e8114e2ce1fe95fccfc73
parenta37e505de51e5c61a41542d2a8125db5e160ce46 (diff)
Supports --nodistinct_host_configuration with
--experimental_dynamic_configs=notrim. This is simply a matter of populating the "global" host config from the target config instead of applying the HostTransition patch. -- MOS_MIGRATED_REVID=139222963
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationCollectionFunction.java8
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java4
3 files changed, 9 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
index 9964c7f08f..b8b670acdb 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
@@ -1186,7 +1186,7 @@ public final class BuildConfiguration {
+ ".blazerc or continuous build"));
}
- if (useDynamicConfigurations() && !options.useDistinctHostConfiguration) {
+ if (trimConfigurations() && !options.useDistinctHostConfiguration) {
reporter.handle(Event.error(
"--nodistinct_host_configuration does not currently work with dynamic configurations"));
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationCollectionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationCollectionFunction.java
index 007a5c129b..7862aef7b3 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationCollectionFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationCollectionFunction.java
@@ -121,7 +121,12 @@ public class ConfigurationCollectionFunction implements SkyFunction {
Environment env, BuildConfiguration targetConfiguration)
throws InvalidConfigurationException, InterruptedException {
if (targetConfiguration.useDynamicConfigurations()) {
- BuildOptions hostOptions = HostTransition.INSTANCE.apply(targetConfiguration.getOptions());
+ BuildOptions targetOptions = targetConfiguration.getOptions();
+ BuildOptions hostOptions =
+ targetOptions.get(BuildConfiguration.Options.class).useDistinctHostConfiguration
+ ? HostTransition.INSTANCE.apply(targetConfiguration.getOptions())
+ : targetOptions;
+
SkyKey hostConfigKey =
BuildConfigurationValue.key(
targetConfiguration.trimConfigurations()
@@ -133,7 +138,6 @@ public class ConfigurationCollectionFunction implements SkyFunction {
// Also preload the target configuration so the configured target functions for
// top-level targets don't have to waste cycles from a missing Skyframe dep.
- BuildOptions targetOptions = targetConfiguration.getOptions();
SkyKey targetConfigKey =
BuildConfigurationValue.key(targetConfiguration.fragmentClasses(), targetOptions);
BuildConfigurationValue skyValTarget = (BuildConfigurationValue)
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java b/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java
index b1bdd87e3d..48e207cdb1 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationTest.java
@@ -302,8 +302,8 @@ public class BuildConfigurationTest extends ConfigurationTestCase {
"--nodistinct_host_configuration does not currently work with dynamic configurations";
checkError(expectedError,
"--nodistinct_host_configuration", "--experimental_dynamic_configs=on");
- checkError(expectedError,
- "--nodistinct_host_configuration", "--experimental_dynamic_configs=notrim");
+ assertThat(create("--nodistinct_host_configuration", "--experimental_dynamic_configs=notrim"))
+ .isNotNull();
}
@Test