diff options
6 files changed, 13 insertions, 17 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Package.java b/src/main/java/com/google/devtools/build/lib/packages/Package.java index 1556dcb141..3e0ec37f1e 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/Package.java +++ b/src/main/java/com/google/devtools/build/lib/packages/Package.java @@ -114,10 +114,8 @@ public class Package { */ private MakeEnvironment makeEnv; - /** - * The collection of all targets defined in this package, indexed by name. - */ - protected Map<String, Target> targets; + /** The collection of all targets defined in this package, indexed by name. */ + protected ImmutableSortedKeyMap<String, Target> targets; /** * Default visibility for rules that do not specify it. @@ -436,16 +434,13 @@ public class Package { return events; } - /** - * Returns an (immutable, unordered) view of all the targets belonging to this package. - */ - public Collection<Target> getTargets() { - return getTargets(targets); + /** Returns an (immutable, unordered) view of all the targets belonging to this package. */ + public ImmutableSortedKeyMap<String, Target> getTargets() { + return targets; } /** - * Common getTargets implementation, accessible by both {@link Package} and - * {@link Package.Builder}. + * Common getTargets implementation, accessible by {@link Package.Builder}. */ private static Collection<Target> getTargets(Map<String, Target> targetMap) { return Collections.unmodifiableCollection(targetMap.values()); diff --git a/src/main/java/com/google/devtools/build/lib/pkgcache/TargetPatternResolverUtil.java b/src/main/java/com/google/devtools/build/lib/pkgcache/TargetPatternResolverUtil.java index d12b3ac5b5..84a1fc7e73 100644 --- a/src/main/java/com/google/devtools/build/lib/pkgcache/TargetPatternResolverUtil.java +++ b/src/main/java/com/google/devtools/build/lib/pkgcache/TargetPatternResolverUtil.java @@ -41,7 +41,7 @@ public final class TargetPatternResolverUtil { public static ResolvedTargets<Target> resolvePackageTargets(Package pkg, FilteringPolicy policy) { ResolvedTargets.Builder<Target> builder = ResolvedTargets.builder(); - for (Target target : pkg.getTargets()) { + for (Target target : pkg.getTargets().values()) { if (policy.shouldRetain(target, false)) { builder.add(target); } diff --git a/src/main/java/com/google/devtools/build/lib/query2/output/PreciseAspectResolver.java b/src/main/java/com/google/devtools/build/lib/query2/output/PreciseAspectResolver.java index 1cd14030c3..007828af53 100644 --- a/src/main/java/com/google/devtools/build/lib/query2/output/PreciseAspectResolver.java +++ b/src/main/java/com/google/devtools/build/lib/query2/output/PreciseAspectResolver.java @@ -87,7 +87,7 @@ public class PreciseAspectResolver implements AspectResolver { Set<PackageIdentifier> dependentPackages = new LinkedHashSet<>(); // First compute with packages can possibly affect the aspect attributes of this package: // Iterate over all rules... - for (Target target : pkg.getTargets()) { + for (Target target : pkg.getTargets().values()) { if (!(target instanceof Rule)) { continue; 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 03d7c15b93..59a68c50d7 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 @@ -177,7 +177,7 @@ public class SkylarkFileContentHashTests extends BuildViewTestCase { SkyframeExecutorTestUtils.evaluate( getSkyframeExecutor(), pkgLookupKey, /*keepGoing=*/ false, reporter); assertFalse(result.hasError()); - Collection<Target> targets = result.get(pkgLookupKey).getPackage().getTargets(); + Collection<Target> targets = result.get(pkgLookupKey).getPackage().getTargets().values(); for (Target target : targets) { if (target.getName().equals(name)) { return ((Rule) target) diff --git a/src/test/java/com/google/devtools/build/lib/testutil/BazelPackageBuilderHelperForTesting.java b/src/test/java/com/google/devtools/build/lib/testutil/BazelPackageBuilderHelperForTesting.java index 21f20cfb16..946ece8cee 100644 --- a/src/test/java/com/google/devtools/build/lib/testutil/BazelPackageBuilderHelperForTesting.java +++ b/src/test/java/com/google/devtools/build/lib/testutil/BazelPackageBuilderHelperForTesting.java @@ -88,9 +88,10 @@ public class BazelPackageBuilderHelperForTesting implements Package.Builder.Help throw new IllegalStateException(e); } ImmutableSet<Label> targetsInPkg = - ImmutableSet.copyOf(Iterables.transform(pkg.getTargets(), TARGET_TO_LABEL)); + ImmutableSet.copyOf(Iterables.transform(pkg.getTargets().values(), TARGET_TO_LABEL)); ImmutableSet<Label> targetsInNewlyLoadedPkg = - ImmutableSet.copyOf(Iterables.transform(newlyLoadedPkg.getTargets(), TARGET_TO_LABEL)); + ImmutableSet.copyOf( + Iterables.transform(newlyLoadedPkg.getTargets().values(), TARGET_TO_LABEL)); if (!targetsInPkg.equals(targetsInNewlyLoadedPkg)) { throw new IllegalStateException(String.format( "The Package for %s had a different set of targets (<targetsInPkg> - " diff --git a/src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/WorkspaceResolver.java b/src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/WorkspaceResolver.java index bbf1a878df..97032b6e55 100644 --- a/src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/WorkspaceResolver.java +++ b/src/tools/generate_workspace/src/main/java/com/google/devtools/build/workspace/WorkspaceResolver.java @@ -98,7 +98,7 @@ public class WorkspaceResolver { */ public void resolveTransitiveDependencies(Package externalPackage) { Location location = Location.fromFile(externalPackage.getFilename()); - for (Target target : externalPackage.getTargets()) { + for (Target target : externalPackage.getTargets().values()) { // Targets are //external:foo. if (target.getTargetKind().startsWith("maven_jar ")) { RepositoryName repositoryName; |