Move local_repository and new_local_repository from build.lib.bazel to build.lib.
--
MOS_MIGRATED_REVID=106689603
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java b/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java
index 1f46069..449f399 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java
@@ -18,21 +18,15 @@
import com.google.common.base.Functions;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableList.Builder;
-import com.google.common.collect.ImmutableMap;
import com.google.common.io.ByteStreams;
-import com.google.devtools.build.lib.analysis.BlazeDirectories;
import com.google.devtools.build.lib.analysis.ConfigurationCollectionFactory;
import com.google.devtools.build.lib.analysis.config.ConfigurationFactory;
import com.google.devtools.build.lib.analysis.config.FragmentOptions;
import com.google.devtools.build.lib.analysis.util.AnalysisMock;
-import com.google.devtools.build.lib.bazel.repository.LocalRepositoryFunction;
-import com.google.devtools.build.lib.bazel.repository.RepositoryDelegatorFunction;
-import com.google.devtools.build.lib.bazel.repository.RepositoryFunction;
import com.google.devtools.build.lib.bazel.rules.BazelConfiguration;
import com.google.devtools.build.lib.bazel.rules.BazelConfigurationCollection;
import com.google.devtools.build.lib.bazel.rules.BazelRuleClassProvider;
import com.google.devtools.build.lib.bazel.rules.python.BazelPythonConfiguration;
-import com.google.devtools.build.lib.bazel.rules.workspace.LocalRepositoryRule;
import com.google.devtools.build.lib.packages.Attribute;
import com.google.devtools.build.lib.packages.RuleClass;
import com.google.devtools.build.lib.packages.util.MockToolsConfig;
@@ -43,12 +37,9 @@
import com.google.devtools.build.lib.rules.java.JvmConfigurationLoader;
import com.google.devtools.build.lib.rules.objc.ObjcConfigurationLoader;
import com.google.devtools.build.lib.rules.python.PythonConfigurationLoader;
-import com.google.devtools.build.lib.skyframe.SkyFunctions;
import com.google.devtools.build.lib.testutil.TestRuleClassProvider;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
import com.google.devtools.build.lib.vfs.Path;
-import com.google.devtools.build.skyframe.SkyFunction;
-import com.google.devtools.build.skyframe.SkyFunctionName;
import java.io.IOException;
import java.io.InputStream;
@@ -56,7 +47,6 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import java.util.concurrent.atomic.AtomicBoolean;
public class BazelAnalysisMock extends AnalysisMock {
public static final AnalysisMock INSTANCE = new BazelAnalysisMock();
@@ -248,20 +238,4 @@
public ImmutableList<Class<? extends FragmentOptions>> getBuildOptions() {
return BazelRuleClassProvider.BUILD_OPTIONS;
}
-
- @Override
- public ImmutableMap<SkyFunctionName, SkyFunction> getSkyFunctions(BlazeDirectories directories) {
- // Bazel will access tools using a local_repository rule, thus, we need to support those rules
- // in test cases, too. So we need the appropriate SkyFunctions.
- RepositoryFunction localRepositoryFunction = new LocalRepositoryFunction();
- localRepositoryFunction.setDirectories(directories);
- ImmutableMap<String, RepositoryFunction> repositoryHandlers = ImmutableMap.of(
- LocalRepositoryRule.NAME, localRepositoryFunction);
-
- return ImmutableMap.of(
- SkyFunctions.REPOSITORY,
- new RepositoryDelegatorFunction(directories, repositoryHandlers, new AtomicBoolean(true)),
- localRepositoryFunction.getSkyFunctionName(),
- localRepositoryFunction);
- }
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisMock.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisMock.java
index 0d9ec51..33ed3cd 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisMock.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisMock.java
@@ -20,12 +20,18 @@
import com.google.devtools.build.lib.analysis.config.ConfigurationFactory;
import com.google.devtools.build.lib.analysis.config.FragmentOptions;
import com.google.devtools.build.lib.packages.util.MockToolsConfig;
+import com.google.devtools.build.lib.rules.repository.LocalRepositoryFunction;
+import com.google.devtools.build.lib.rules.repository.LocalRepositoryRule;
+import com.google.devtools.build.lib.rules.repository.RepositoryDelegatorFunction;
+import com.google.devtools.build.lib.rules.repository.RepositoryFunction;
+import com.google.devtools.build.lib.skyframe.SkyFunctions;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.skyframe.SkyFunction;
import com.google.devtools.build.skyframe.SkyFunctionName;
import java.io.IOException;
import java.util.Collection;
+import java.util.concurrent.atomic.AtomicBoolean;
/**
* Create a mock client for the analysis phase, as well as a configuration factory.
@@ -52,8 +58,19 @@
public abstract ImmutableList<Class<? extends FragmentOptions>> getBuildOptions();
- public abstract ImmutableMap<SkyFunctionName, SkyFunction> getSkyFunctions(
- BlazeDirectories directories);
+ public ImmutableMap<SkyFunctionName, SkyFunction> getSkyFunctions(BlazeDirectories directories) {
+ // Some tests require the local_repository rule so we need the appropriate SkyFunctions.
+ RepositoryFunction localRepositoryFunction = new LocalRepositoryFunction();
+ localRepositoryFunction.setDirectories(directories);
+ ImmutableMap<String, RepositoryFunction> repositoryHandlers = ImmutableMap.of(
+ LocalRepositoryRule.NAME, localRepositoryFunction);
+
+ return ImmutableMap.of(
+ SkyFunctions.REPOSITORY,
+ new RepositoryDelegatorFunction(directories, repositoryHandlers, new AtomicBoolean(true)),
+ localRepositoryFunction.getSkyFunctionName(),
+ localRepositoryFunction);
+ }
public static class Delegate extends AnalysisMock {
private final AnalysisMock delegate;
@@ -91,11 +108,5 @@
public ImmutableList<Class<? extends FragmentOptions>> getBuildOptions() {
return delegate.getBuildOptions();
}
-
- @Override
- public ImmutableMap<SkyFunctionName, SkyFunction> getSkyFunctions(
- BlazeDirectories directories) {
- return delegate.getSkyFunctions(directories);
- }
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
index 5ca2aa8..de4f075 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
@@ -131,7 +131,7 @@
protected void setUp() throws Exception {
super.setUp();
analysisMock = getAnalysisMock();
- pkgLocator = new PathPackageLocator(rootDirectory);
+ pkgLocator = new PathPackageLocator(outputBase, ImmutableList.of(rootDirectory));
directories = new BlazeDirectories(outputBase, outputBase, rootDirectory);
workspaceStatusActionFactory =
new AnalysisTestUtil.DummyWorkspaceStatusActionFactory(directories);
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
index df14698..89c131f 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
@@ -208,7 +208,8 @@
getPrecomputedValues(),
ImmutableList.<SkyValueDirtinessChecker>of());
skyframeExecutor.preparePackageLoading(
- new PathPackageLocator(rootDirectory), ConstantRuleVisibility.PUBLIC, true, 7, "",
+ new PathPackageLocator(outputBase, ImmutableList.of(rootDirectory)),
+ ConstantRuleVisibility.PUBLIC, true, 7, "",
UUID.randomUUID());
useConfiguration();
setUpSkyframe();
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java
index c428cdf..15fd7ad 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java
@@ -82,9 +82,9 @@
protected void setUp() throws Exception {
super.setUp();
workspace = rootDirectory;
-
ConfiguredRuleClassProvider ruleClassProvider = TestRuleClassProvider.getRuleClassProvider();
- PathPackageLocator pkgLocator = new PathPackageLocator(rootDirectory);
+ PathPackageLocator pkgLocator =
+ new PathPackageLocator(outputBase, ImmutableList.of(rootDirectory));
final PackageFactory pkgFactory;
BlazeDirectories directories = new BlazeDirectories(outputBase, outputBase, rootDirectory);
pkgFactory = new PackageFactory(ruleClassProvider);
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java b/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
index 9789822..6621537 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
@@ -86,7 +86,8 @@
ImmutableList.<PrecomputedValue.Injected>of(),
ImmutableList.<SkyValueDirtinessChecker>of());
skyframeExecutor.preparePackageLoading(
- new PathPackageLocator(rootDirectory), ConstantRuleVisibility.PUBLIC, true, 7, "",
+ new PathPackageLocator(outputBase, ImmutableList.of(rootDirectory)),
+ ConstantRuleVisibility.PUBLIC, true, 7, "",
UUID.randomUUID());
setUpSkyframe(parsePackageCacheOptions());
}
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java
index 7cb2076..f808432 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java
@@ -93,7 +93,7 @@
setupRoot(new CustomInMemoryFs());
AtomicReference<PathPackageLocator> pkgLocator =
- new AtomicReference<>(new PathPackageLocator());
+ new AtomicReference<>(PathPackageLocator.EMPTY);
ExternalFilesHelper externalFilesHelper = new ExternalFilesHelper(pkgLocator);
differencer = new RecordingDifferencer();
evaluator =
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupFunctionTest.java
index c7c7d5b..e675a7d 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupFunctionTest.java
@@ -48,7 +48,7 @@
protected void setUp() throws Exception {
super.setUp();
AtomicReference<PathPackageLocator> pkgLocator =
- new AtomicReference<>(new PathPackageLocator(rootDirectory));
+ new AtomicReference<>(new PathPackageLocator(outputBase, ImmutableList.of(rootDirectory)));
deletedPackages = new AtomicReference<>(ImmutableSet.<PackageIdentifier>of());
ExternalFilesHelper externalFilesHelper = new ExternalFilesHelper(pkgLocator);
TimestampGranularityMonitor tsgm = new TimestampGranularityMonitor(BlazeClock.instance());
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java
index abeea76..deb2b9e 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/FileFunctionTest.java
@@ -88,6 +88,7 @@
public class FileFunctionTest {
private CustomInMemoryFs fs;
private Path pkgRoot;
+ private Path outputBase;
private PathPackageLocator pkgLocator;
private TimestampGranularityMonitor tsgm;
private boolean fastMd5;
@@ -106,7 +107,8 @@
private void createFsAndRoot(CustomInMemoryFs fs) throws IOException {
this.fs = fs;
pkgRoot = fs.getRootDirectory().getRelative("root");
- pkgLocator = new PathPackageLocator(pkgRoot);
+ outputBase = fs.getRootDirectory().getRelative("output_base");
+ pkgLocator = new PathPackageLocator(outputBase, ImmutableList.of(pkgRoot));
FileSystemUtils.createDirectoryAndParents(pkgRoot);
}
@@ -531,7 +533,7 @@
@Test
public void testSymlinkAcrossPackageRoots() throws Exception {
Path otherPkgRoot = fs.getRootDirectory().getRelative("other_root");
- pkgLocator = new PathPackageLocator(pkgRoot, otherPkgRoot);
+ pkgLocator = new PathPackageLocator(outputBase, ImmutableList.of(pkgRoot, otherPkgRoot));
symlink("a", "/other_root/b");
assertValueChangesIfContentsOfFileChanges("/other_root/b", true, "a");
}
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunctionTest.java
index e699f0a..c04e31e 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/FilesetEntryFunctionTest.java
@@ -77,7 +77,8 @@
protected void setUp() throws Exception {
super.setUp();
- pkgLocator = new AtomicReference<>(new PathPackageLocator(rootDirectory));
+ pkgLocator = new AtomicReference<>(
+ new PathPackageLocator(outputBase, ImmutableList.of(rootDirectory)));
AtomicReference<ImmutableSet<PackageIdentifier>> deletedPackages =
new AtomicReference<>(ImmutableSet.<PackageIdentifier>of());
ExternalFilesHelper externalFilesHelper = new ExternalFilesHelper(pkgLocator);
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java
index 1f2a12d..430c5bf 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java
@@ -54,7 +54,6 @@
import com.google.devtools.build.skyframe.SkyKey;
import com.google.devtools.build.skyframe.SkyValue;
-import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -94,7 +93,7 @@
tsgm = new TimestampGranularityMonitor(BlazeClock.instance());
AtomicReference<PathPackageLocator> pkgLocator =
- new AtomicReference<>(new PathPackageLocator());
+ new AtomicReference<>(PathPackageLocator.EMPTY);
ExternalFilesHelper externalFilesHelper = new ExternalFilesHelper(pkgLocator);
skyFunctions.put(SkyFunctions.FILE_STATE, new FileStateFunction(tsgm, externalFilesHelper));
skyFunctions.put(SkyFunctions.FILE, new FileFunction(pkgLocator, tsgm, externalFilesHelper));
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/GlobFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/GlobFunctionTest.java
index 2c2b77a..4467329 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/GlobFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/GlobFunctionTest.java
@@ -91,6 +91,7 @@
private SequentialBuildDriver driver;
private RecordingDifferencer differencer;
private Path root;
+ private Path outputBase;
private Path pkgPath;
private AtomicReference<PathPackageLocator> pkgLocator;
private TimestampGranularityMonitor tsgm;
@@ -102,9 +103,10 @@
fs = new CustomInMemoryFs(new ManualClock());
root = fs.getRootDirectory().getRelative("root/workspace");
+ outputBase = fs.getRootDirectory().getRelative("output_base");
pkgPath = root.getRelative(PKG_PATH_ID.getPackageFragment());
- pkgLocator = new AtomicReference<>(new PathPackageLocator(root));
+ pkgLocator = new AtomicReference<>(new PathPackageLocator(outputBase, ImmutableList.of(root)));
tsgm = new TimestampGranularityMonitor(BlazeClock.instance());
differencer = new RecordingDifferencer();
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunctionTest.java
index fb46d73..192a1bc 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalFunctionTest.java
@@ -73,7 +73,8 @@
protected void setUp() throws Exception {
super.setUp();
- pkgLocator = new AtomicReference<>(new PathPackageLocator(rootDirectory));
+ pkgLocator = new AtomicReference<>(
+ new PathPackageLocator(outputBase, ImmutableList.of(rootDirectory)));
AtomicReference<ImmutableSet<PackageIdentifier>> deletedPackages =
new AtomicReference<>(ImmutableSet.<PackageIdentifier>of());
ExternalFilesHelper externalFilesHelper = new ExternalFilesHelper(pkgLocator);
@@ -630,8 +631,8 @@
// to the definition of //a/b/ under pp1, not under pp2.
// Set the package paths.
- pkgLocator.set(
- new PathPackageLocator(rootDirectory.getRelative("pp1"), rootDirectory.getRelative("pp2")));
+ pkgLocator.set(new PathPackageLocator(outputBase,
+ ImmutableList.of(rootDirectory.getRelative("pp1"), rootDirectory.getRelative("pp2"))));
PrecomputedValue.PATH_PACKAGE_LOCATOR.set(differencer, pkgLocator.get());
Artifact aBuildArtifact = sourceArtifactUnderPackagePath("a/BUILD", "pp1");
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkFileContentHashTests.java b/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkFileContentHashTests.java
index 29470dd..18c0d35 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkFileContentHashTests.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkFileContentHashTests.java
@@ -13,6 +13,7 @@
// limitations under the License.
package com.google.devtools.build.lib.skyframe;
+import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.packages.ConstantRuleVisibility;
@@ -140,7 +141,7 @@
private String getHash(String pkg, String name) throws Exception {
getSkyframeExecutor()
.preparePackageLoading(
- new PathPackageLocator(rootDirectory),
+ new PathPackageLocator(outputBase, ImmutableList.of(rootDirectory)),
ConstantRuleVisibility.PUBLIC,
true,
7,
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupFunctionTest.java
index abd94d9..fef00d8 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupFunctionTest.java
@@ -13,6 +13,7 @@
// limitations under the License.
package com.google.devtools.build.lib.skyframe;
+import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.packages.ConstantRuleVisibility;
@@ -37,7 +38,7 @@
Path alternativeRoot = scratch.dir("/root_2");
getSkyframeExecutor()
.preparePackageLoading(
- new PathPackageLocator(rootDirectory, alternativeRoot),
+ new PathPackageLocator(outputBase, ImmutableList.of(rootDirectory, alternativeRoot)),
ConstantRuleVisibility.PUBLIC,
true,
7,
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
index abd081c..201f383 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
@@ -18,6 +18,7 @@
import com.google.common.base.Preconditions;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
+import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
import com.google.common.collect.Range;
@@ -42,18 +43,6 @@
import com.google.devtools.build.lib.events.Reporter;
import com.google.devtools.build.lib.events.StoredEventHandler;
import com.google.devtools.build.lib.pkgcache.PathPackageLocator;
-import com.google.devtools.build.lib.skyframe.ActionExecutionFunction;
-import com.google.devtools.build.lib.skyframe.ActionLookupValue;
-import com.google.devtools.build.lib.skyframe.ArtifactFunction;
-import com.google.devtools.build.lib.skyframe.ArtifactValue;
-import com.google.devtools.build.lib.skyframe.AspectValue;
-import com.google.devtools.build.lib.skyframe.Builder;
-import com.google.devtools.build.lib.skyframe.ExternalFilesHelper;
-import com.google.devtools.build.lib.skyframe.FileFunction;
-import com.google.devtools.build.lib.skyframe.FileStateFunction;
-import com.google.devtools.build.lib.skyframe.PrecomputedValue;
-import com.google.devtools.build.lib.skyframe.SkyFunctions;
-import com.google.devtools.build.lib.skyframe.SkyframeActionExecutor;
import com.google.devtools.build.lib.testutil.FoundationTestCase;
import com.google.devtools.build.lib.testutil.TestUtils;
import com.google.devtools.build.lib.util.AbruptExitException;
@@ -143,7 +132,7 @@
final boolean keepGoing,
@Nullable EvaluationProgressReceiver evaluationProgressReceiver) {
AtomicReference<PathPackageLocator> pkgLocator =
- new AtomicReference<>(new PathPackageLocator());
+ new AtomicReference<>(new PathPackageLocator(outputBase, ImmutableList.<Path>of()));
ExternalFilesHelper externalFilesHelper = new ExternalFilesHelper(pkgLocator);
differencer = new RecordingDifferencer();