aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar kchodorow <kchodorow@google.com>2017-07-06 17:51:18 -0400
committerGravatar John Cater <jcater@google.com>2017-07-07 07:08:10 -0400
commit79e7c31cc77e0faef0b4a427ed87fb08f86d83ed (patch)
treec8c8503fc1deeda2ac68af57e6e4be87b61c9bfd /src/main/java/com/google/devtools/build
parent7e0f3329834029c75a4057854f18e8443e72742e (diff)
Exclude //external targets from //...
Fixes #3307 and #1606. The problem was that TargetPatternResolver was trying to figure out if repositories were tagged as "manual," but repository rules don't have a "tags" field. Repository rules shouldn't be included by //... generally. TargetPatternResolver was just ls-ing // to find all the "packages," so this removes external/ from consideration. PiperOrigin-RevId: 161134437
Diffstat (limited to 'src/main/java/com/google/devtools/build')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ProcessPackageDirectory.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ProcessPackageDirectory.java b/src/main/java/com/google/devtools/build/lib/skyframe/ProcessPackageDirectory.java
index d6c5ff03cb..349aec4b15 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ProcessPackageDirectory.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ProcessPackageDirectory.java
@@ -16,6 +16,7 @@ package com.google.devtools.build.lib.skyframe;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.analysis.BlazeDirectories;
+import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.cmdline.RepositoryName;
import com.google.devtools.build.lib.events.Event;
@@ -197,6 +198,10 @@ public class ProcessPackageDirectory {
&& PathPackageLocator.DEFAULT_TOP_LEVEL_EXCLUDES.contains(basename)) {
continue;
}
+ if (basename.equals(Label.EXTERNAL_PACKAGE_NAME.getPathString())) {
+ // Not a real package.
+ continue;
+ }
PathFragment subdirectory = rootRelativePath.getRelative(basename);
// If this subdirectory is one of the excluded paths, don't recurse into it.