diff options
author | 2018-03-22 13:37:38 -0700 | |
---|---|---|
committer | 2018-03-22 13:38:49 -0700 | |
commit | 5d7fa7ba5d93a1fe35353b05882698b0d74d90f7 (patch) | |
tree | 3dc1c360c768c18ccdcdbc5607d98216a2a4f77b /src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java | |
parent | 62af2b4763510033cf824a4c6d1e59e566002361 (diff) |
Add a DefaultBuildOptions specifying default build flags that may differ from the provided defaults in Options classes. These are used to create BuildOptionsDiffForReconstruction, which lets us store only the diffs in our BuildConfigurationValue.Keys.
PiperOrigin-RevId: 190117455
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java index c8e61fe10a..2a35b9f186 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetFunction.java @@ -24,6 +24,7 @@ import com.google.devtools.build.lib.analysis.Dependency; import com.google.devtools.build.lib.analysis.DependencyResolver.InconsistentAspectOrderException; import com.google.devtools.build.lib.analysis.TargetAndConfiguration; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; +import com.google.devtools.build.lib.analysis.config.BuildOptions; import com.google.devtools.build.lib.analysis.config.ConfigMatchingProvider; import com.google.devtools.build.lib.analysis.config.ConfigurationResolver; import com.google.devtools.build.lib.analysis.config.InvalidConfigurationException; @@ -64,12 +65,15 @@ public class PostConfiguredTargetFunction implements SkyFunction { private final SkyframeExecutor.BuildViewProvider buildViewProvider; private final RuleClassProvider ruleClassProvider; + private final BuildOptions defaultBuildOptions; public PostConfiguredTargetFunction( SkyframeExecutor.BuildViewProvider buildViewProvider, - RuleClassProvider ruleClassProvider) { + RuleClassProvider ruleClassProvider, + BuildOptions defaultBuildOptions) { this.buildViewProvider = Preconditions.checkNotNull(buildViewProvider); this.ruleClassProvider = ruleClassProvider; + this.defaultBuildOptions = defaultBuildOptions; } @Nullable @@ -125,10 +129,12 @@ public class PostConfiguredTargetFunction implements SkyFunction { hostConfiguration, /*aspect=*/ null, configConditions, - /*toolchainLabels=*/ ImmutableSet.of()); + /*toolchainLabels*/ ImmutableSet.of(), + defaultBuildOptions); if (ct.getConfiguration() != null) { - deps = ConfigurationResolver.resolveConfigurations(env, ctgValue, deps, hostConfiguration, - ruleClassProvider); + deps = + ConfigurationResolver.resolveConfigurations( + env, ctgValue, deps, hostConfiguration, ruleClassProvider, defaultBuildOptions); } } catch (EvalException | ConfiguredTargetFunction.DependencyEvaluationException | InvalidConfigurationException | InconsistentAspectOrderException e) { |