diff options
author | nharmata <nharmata@google.com> | 2017-06-07 17:03:52 -0400 |
---|---|---|
committer | John Cater <jcater@google.com> | 2017-06-08 10:52:52 -0400 |
commit | ff688bf287af54049f4f6d9b060fed1d2b649380 (patch) | |
tree | 216a01dd25e8ee26b4cb2fc3d579cfc872394dcc /src/main/java/com/google/devtools/build/lib/skyframe/packages | |
parent | 24d3709cd57690f5458675dc68948502a5800189 (diff) |
Make PackageFunction's strategy for handling unreadable BUILD files configurable. Add a test for the current behavior of treating an unreadable BUILD file as a package loading error.
RELNOTES: None
PiperOrigin-RevId: 158314187
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/packages')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoader.java | 6 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/packages/BazelPackageLoader.java | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoader.java b/src/main/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoader.java index 9d5a1b0634..00a4a1257b 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoader.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoader.java @@ -50,6 +50,7 @@ import com.google.devtools.build.lib.skyframe.FileSymlinkCycleUniquenessFunction import com.google.devtools.build.lib.skyframe.FileSymlinkInfiniteExpansionUniquenessFunction; import com.google.devtools.build.lib.skyframe.GlobFunction; import com.google.devtools.build.lib.skyframe.PackageFunction; +import com.google.devtools.build.lib.skyframe.PackageFunction.ActionOnIOExceptionReadingBuildFile; import com.google.devtools.build.lib.skyframe.PackageFunction.CacheEntryWithGlobDeps; import com.google.devtools.build.lib.skyframe.PackageLookupFunction; import com.google.devtools.build.lib.skyframe.PackageLookupFunction.CrossRepositoryLabelViolationStrategy; @@ -310,6 +311,7 @@ public abstract class AbstractPackageLoader implements PackageLoader { protected abstract CrossRepositoryLabelViolationStrategy getCrossRepositoryLabelViolationStrategy(); protected abstract ImmutableList<BuildFileName> getBuildFilesByPriority(); + protected abstract ActionOnIOExceptionReadingBuildFile getActionOnIOExceptionReadingBuildFile(); protected abstract ImmutableMap<SkyFunctionName, SkyFunction> getExtraExtraSkyFunctions(); protected final ImmutableMap<SkyFunctionName, SkyFunction> makeFreshSkyFunctions() { @@ -368,7 +370,9 @@ public abstract class AbstractPackageLoader implements PackageLoader { packageFunctionCache, astCache, /*numPackagesLoaded=*/ new AtomicInteger(0), - null)) + /*skylarkImportLookupFunctionForInlining=*/ null, + /*packageProgress=*/ null, + getActionOnIOExceptionReadingBuildFile())) .putAll(extraSkyFunctions) .putAll(getExtraExtraSkyFunctions()); return builder.build(); diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/packages/BazelPackageLoader.java b/src/main/java/com/google/devtools/build/lib/skyframe/packages/BazelPackageLoader.java index aa88fd59dc..7c388e5536 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/packages/BazelPackageLoader.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/packages/BazelPackageLoader.java @@ -21,6 +21,7 @@ import com.google.devtools.build.lib.packages.RuleClassProvider; import com.google.devtools.build.lib.runtime.proto.InvocationPolicyOuterClass.InvocationPolicy; import com.google.devtools.build.lib.skyframe.BazelSkyframeExecutorConstants; import com.google.devtools.build.lib.skyframe.LocalRepositoryLookupFunction; +import com.google.devtools.build.lib.skyframe.PackageFunction.ActionOnIOExceptionReadingBuildFile; import com.google.devtools.build.lib.skyframe.PackageLookupFunction.CrossRepositoryLabelViolationStrategy; import com.google.devtools.build.lib.skyframe.PackageLookupValue.BuildFileName; import com.google.devtools.build.lib.skyframe.SkyFunctions; @@ -86,6 +87,11 @@ public class BazelPackageLoader extends AbstractPackageLoader { } @Override + protected ActionOnIOExceptionReadingBuildFile getActionOnIOExceptionReadingBuildFile() { + return BazelSkyframeExecutorConstants.ACTION_ON_IO_EXCEPTION_READING_BUILD_FILE; + } + + @Override protected ImmutableMap<SkyFunctionName, SkyFunction> getExtraExtraSkyFunctions() { return ImmutableMap.<SkyFunctionName, SkyFunction>of( SkyFunctions.LOCAL_REPOSITORY_LOOKUP, new LocalRepositoryLookupFunction()); |