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/AspectFunction.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/AspectFunction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java index 917dfcb9dd..37ca17c17f 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java @@ -32,6 +32,7 @@ import com.google.devtools.build.lib.analysis.DependencyResolver.InconsistentAsp import com.google.devtools.build.lib.analysis.TargetAndConfiguration; import com.google.devtools.build.lib.analysis.ToolchainContext; 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.InvalidConfigurationException; import com.google.devtools.build.lib.analysis.configuredtargets.MergedConfiguredTarget; @@ -97,6 +98,7 @@ public final class AspectFunction implements SkyFunction { private final BuildViewProvider buildViewProvider; private final RuleClassProvider ruleClassProvider; private final Supplier<Boolean> removeActionsAfterEvaluation; + private final BuildOptions defaultBuildOptions; /** * Indicates whether the set of packages transitively loaded for a given {@link AspectValue} will * be needed for package root resolution later in the build. If not, they are not collected and @@ -108,12 +110,14 @@ public final class AspectFunction implements SkyFunction { BuildViewProvider buildViewProvider, RuleClassProvider ruleClassProvider, Supplier<Boolean> removeActionsAfterEvaluation, - boolean storeTransitivePackagesForPackageRootResolution) { + boolean storeTransitivePackagesForPackageRootResolution, + BuildOptions defaultBuildOptions) { this.buildViewProvider = buildViewProvider; this.ruleClassProvider = ruleClassProvider; this.removeActionsAfterEvaluation = Preconditions.checkNotNull(removeActionsAfterEvaluation); this.storeTransitivePackagesForPackageRootResolution = storeTransitivePackagesForPackageRootResolution; + this.defaultBuildOptions = defaultBuildOptions; } /** @@ -382,7 +386,8 @@ public final class AspectFunction implements SkyFunction { ruleClassProvider, view.getHostConfiguration(originalTargetAndAspectConfiguration.getConfiguration()), transitivePackagesForPackageRootResolution, - transitiveRootCauses); + transitiveRootCauses, + defaultBuildOptions); } catch (ConfiguredTargetFunctionException e) { throw new AspectCreationException(e.getMessage()); } |