From d8099365f76ceb33c0de85289b8f423aa65f66f7 Mon Sep 17 00:00:00 2001 From: Ulf Adams Date: Mon, 2 Nov 2015 14:56:46 +0000 Subject: Move LoadingPhaseRunner.LoadingResult to a top-level class. -- MOS_MIGRATED_REVID=106838787 --- .../devtools/build/lib/pkgcache/LoadingResult.java | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 src/main/java/com/google/devtools/build/lib/pkgcache/LoadingResult.java (limited to 'src/main/java/com/google/devtools/build/lib/pkgcache/LoadingResult.java') diff --git a/src/main/java/com/google/devtools/build/lib/pkgcache/LoadingResult.java b/src/main/java/com/google/devtools/build/lib/pkgcache/LoadingResult.java new file mode 100644 index 0000000000..80c6fbe4f1 --- /dev/null +++ b/src/main/java/com/google/devtools/build/lib/pkgcache/LoadingResult.java @@ -0,0 +1,73 @@ +// Copyright 2015 The Bazel Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +package com.google.devtools.build.lib.pkgcache; + +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.devtools.build.lib.cmdline.PackageIdentifier; +import com.google.devtools.build.lib.packages.Target; +import com.google.devtools.build.lib.vfs.Path; + +import java.util.Collection; + +/** + * The result of the loading phase, i.e., whether there were errors, and which targets were + * successfully loaded, plus some related metadata. + */ +public final class LoadingResult { + private final boolean hasTargetPatternError; + private final boolean hasLoadingError; + private final ImmutableSet targetsToAnalyze; + private final ImmutableSet testsToRun; + private final ImmutableMap packageRoots; + + public LoadingResult(boolean hasTargetPatternError, boolean hasLoadingError, + Collection targetsToAnalyze, Collection testsToRun, + ImmutableMap packageRoots) { + this.hasTargetPatternError = hasTargetPatternError; + this.hasLoadingError = hasLoadingError; + this.targetsToAnalyze = + targetsToAnalyze == null ? null : ImmutableSet.copyOf(targetsToAnalyze); + this.testsToRun = testsToRun == null ? null : ImmutableSet.copyOf(testsToRun); + this.packageRoots = packageRoots; + } + + /** Whether there were errors during target pattern evaluation. */ + public boolean hasTargetPatternError() { + return hasTargetPatternError; + } + + /** Whether there were errors during the loading phase. */ + public boolean hasLoadingError() { + return hasLoadingError; + } + + /** Successfully loaded targets that should be built. */ + public Collection getTargets() { + return targetsToAnalyze; + } + + /** Successfully loaded targets that should be run as tests. Must be a subset of the targets. */ + public Collection getTestsToRun() { + return testsToRun; + } + + /** + * The map from package names to the package root where each package was found; this is used to + * set up the symlink tree. + */ + public ImmutableMap getPackageRoots() { + return packageRoots; + } +} \ No newline at end of file -- cgit v1.2.3