diff options
author | 2015-11-06 00:25:03 +0000 | |
---|---|---|
committer | 2015-11-06 16:39:55 +0000 | |
commit | a876759f1b9885f42eb99b68b3d8bb9f53a8f6e5 (patch) | |
tree | 925619c722c6577c8eb8237867fbe85b0b5c70f9 /src/main/java/com/google/devtools/build/lib/skyframe | |
parent | 7be6c17bf17f82de8a5e87d1c70ba81ad91236d7 (diff) |
Refactor the loading phase runner creation and remove the test duplication.
The loading phase runner is now always created by the SkyframeExecutor, and
the duplicate test is dropped in favor of subclassing and overriding one
method.
--
MOS_MIGRATED_REVID=107188756
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java index afba144e13..a660ba59c9 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java @@ -90,6 +90,7 @@ import com.google.devtools.build.lib.packages.Preprocessor.AstAfterPreprocessing import com.google.devtools.build.lib.packages.RuleClassProvider; import com.google.devtools.build.lib.packages.RuleVisibility; import com.google.devtools.build.lib.packages.Target; +import com.google.devtools.build.lib.pkgcache.LegacyLoadingPhaseRunner; import com.google.devtools.build.lib.pkgcache.LoadingCallback; import com.google.devtools.build.lib.pkgcache.LoadingFailedException; import com.google.devtools.build.lib.pkgcache.LoadingOptions; @@ -1692,8 +1693,12 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory { */ public abstract void deleteOldNodes(long versionWindowForDirtyGc); - public LoadingPhaseRunner getLoadingPhaseRunner(Set<String> ruleClassNames) { - return new SkyframeLoadingPhaseRunner(ruleClassNames); + public LoadingPhaseRunner getLoadingPhaseRunner(Set<String> ruleClassNames, boolean useNewImpl) { + if (!useNewImpl) { + return new LegacyLoadingPhaseRunner(packageManager, ruleClassNames); + } else { + return new SkyframeLoadingPhaseRunner(ruleClassNames); + } } /** |