aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2016-04-06 12:31:07 +0000
committerGravatar Lukacs Berki <lberki@google.com>2016-04-07 11:45:11 +0000
commitc0e5bc50f946c6b127485aeee133c149283ae352 (patch)
treecd382125be5cc2a5132646312c164f2c95be90c1 /src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
parentc23ba45553699b5d8b8ac1520adb307fd7e4e7ee (diff)
Move FDO support to the analysis phase by wrapping FdoSupport in its own SkyFunction.
This removes one of the two reasons for the existence of BuildConfiguration#prepareToBuild() which makes implementing dynamic configurations impossible and also makes FDO support halfway sane; now FDO is exactly as ugly as remote repositories, that is to say, reasonably okay. Ideally, we'd implement the zip extraction as an Action and make it a TreeArtifact, but support for TreeArtifacts is not mature yet enough, so it's not possible at the moment. -- MOS_MIGRATED_REVID=119150223
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java28
1 files changed, 0 insertions, 28 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 e0ced04c8d..33aa510f7a 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
@@ -34,7 +34,6 @@ import com.google.devtools.build.lib.analysis.BlazeDirectories;
import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider;
import com.google.devtools.build.lib.analysis.Dependency;
import com.google.devtools.build.lib.analysis.RuleContext;
-import com.google.devtools.build.lib.analysis.ViewCreationFailedException;
import com.google.devtools.build.lib.analysis.config.BuildConfigurationCollection.Transitions;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
@@ -169,18 +168,6 @@ public final class BuildConfiguration {
}
/**
- * The fragment may use this hook to perform I/O and read data into memory that is used during
- * analysis. During the analysis phase disk I/O operations are disallowed.
- *
- * <p>This hook is called for all configurations after the loading phase is complete.
- *
- * <p>Do not use this method to change your fragment's state.
- */
- @SuppressWarnings("unused")
- public void prepareHook(Path execPath) throws ViewCreationFailedException {
- }
-
- /**
* Adds all the roots from this fragment.
*/
@SuppressWarnings("unused")
@@ -2332,21 +2319,6 @@ public final class BuildConfiguration {
}
/**
- * Prepare the fdo support. It reads data into memory that is used during analysis. The analysis
- * phase is generally not allowed to perform disk I/O. This code is here because it is
- * conceptually part of the analysis phase, and it needs to happen when the loading phase is
- * complete.
- *
- * <p>C++ also requires this to resolve artifacts that are unconditionally included in every
- * compilation.</p>
- */
- public void prepareToBuild(Path execRoot) throws ViewCreationFailedException {
- for (Fragment fragment : fragments.values()) {
- fragment.prepareHook(execRoot);
- }
- }
-
- /**
* Declares dependencies on any relevant Skyframe values (for example, relevant FileValues).
*/
public void declareSkyframeDependencies(SkyFunction.Environment env) {