diff options
Diffstat (limited to 'src/main')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/packages/Preprocessor.java | 9 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java | 4 |
2 files changed, 7 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Preprocessor.java b/src/main/java/com/google/devtools/build/lib/packages/Preprocessor.java index 7a1f753678..787d09e0c5 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/Preprocessor.java +++ b/src/main/java/com/google/devtools/build/lib/packages/Preprocessor.java @@ -39,10 +39,11 @@ public interface Preprocessor { /** * Returns a Preprocessor factory to use for getting Preprocessor instances. * - * <p>The CachingPackageLocator is provided so the constructed preprocessors can look up - * other BUILD files. + * @param loc a package locator for preprocessors to look up other BUILD files + * @param outputBase allows non-hermetic access to the file system and output base; use with + * extreme caution */ - Factory getFactory(CachingPackageLocator loc); + Factory getFactory(CachingPackageLocator loc, Path outputBase); /** Supplier that always returns {@code NullFactory.INSTANCE}. */ static class NullSupplier implements Supplier { @@ -53,7 +54,7 @@ public interface Preprocessor { } @Override - public Factory getFactory(CachingPackageLocator loc) { + public Factory getFactory(CachingPackageLocator loc, Path outputBase) { return NullFactory.INSTANCE; } } 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 661a70a332..ffe4091ceb 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 @@ -949,12 +949,12 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory { private void checkPreprocessorFactory() { if (preprocessorFactory == null) { Preprocessor.Factory newPreprocessorFactory = preprocessorFactorySupplier.getFactory( - packageManager); + packageManager, directories.getOutputBase()); pkgFactory.setPreprocessorFactory(newPreprocessorFactory); preprocessorFactory = newPreprocessorFactory; } else if (!preprocessorFactory.isStillValid()) { Preprocessor.Factory newPreprocessorFactory = preprocessorFactorySupplier.getFactory( - packageManager); + packageManager, directories.getOutputBase()); invalidate(SkyFunctionName.functionIs(SkyFunctions.PACKAGE)); pkgFactory.setPreprocessorFactory(newPreprocessorFactory); preprocessorFactory = newPreprocessorFactory; |