aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar John Cater <jcater@google.com>2017-06-15 23:40:32 +0200
committerGravatar Yun Peng <pcloudy@google.com>2017-06-16 09:27:22 +0200
commit0bd2102ea33f8c1bc40fbfb2acabcd46895011f3 (patch)
treeccff7bc9c9927720c5ba97c94a52e37279424211 /src
parent68b9a7e2dc17e32b194238d287e79bee1ba035b9 (diff)
Fix duplication and re-ordering issues in ExternalPackageUtil.
Change-Id: Ie0e64b2e03f5208bc3a6d9522f25e7f11ec4dbd5 PiperOrigin-RevId: 159156497
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/ExternalPackageUtil.java15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/ExternalPackageUtil.java b/src/main/java/com/google/devtools/build/lib/rules/ExternalPackageUtil.java
index 5e395c04aa..4a73d05cdb 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/ExternalPackageUtil.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/ExternalPackageUtil.java
@@ -16,7 +16,6 @@ package com.google.devtools.build.lib.rules;
import com.google.common.base.Function;
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
@@ -37,9 +36,7 @@ import com.google.devtools.build.skyframe.SkyFunctionException;
import com.google.devtools.build.skyframe.SkyFunctionException.Transience;
import com.google.devtools.build.skyframe.SkyKey;
import java.io.IOException;
-import java.util.HashSet;
import java.util.List;
-import java.util.Set;
import javax.annotation.Nullable;
/** Utility class to centralize looking up rules from the external package. */
@@ -53,7 +50,7 @@ public class ExternalPackageUtil {
* @param selector the function to call to load rules
*/
@Nullable
- private static Set<Rule> getRules(
+ private static List<Rule> getRules(
Environment env, boolean returnFirst, Function<Package, Iterable<Rule>> selector)
throws ExternalPackageException, InterruptedException {
SkyKey packageLookupKey = PackageLookupValue.key(Label.EXTERNAL_PACKAGE_IDENTIFIER);
@@ -63,7 +60,7 @@ public class ExternalPackageUtil {
}
RootedPath workspacePath = packageLookupValue.getRootedPath(Label.EXTERNAL_PACKAGE_IDENTIFIER);
- Set<Rule> rules = new HashSet<>();
+ List<Rule> rules = ImmutableList.of();
SkyKey workspaceKey = WorkspaceFileValue.key(workspacePath);
do {
WorkspaceFileValue value = (WorkspaceFileValue) env.getValue(workspaceKey);
@@ -80,9 +77,9 @@ public class ExternalPackageUtil {
}
Iterable<Rule> results = selector.apply(externalPackage);
if (results != null) {
- Iterables.addAll(rules, results);
+ rules = ImmutableList.copyOf(results);
if (returnFirst && !rules.isEmpty()) {
- return ImmutableSet.of(Iterables.getFirst(results, null));
+ return ImmutableList.of(Iterables.getFirst(results, null));
}
}
workspaceKey = value.next();
@@ -96,7 +93,7 @@ public class ExternalPackageUtil {
public static List<Rule> getRuleByRuleClass(final String ruleClassName, Environment env)
throws ExternalPackageException, InterruptedException {
- Set<Rule> rules =
+ List<Rule> rules =
getRules(
env,
false,
@@ -119,7 +116,7 @@ public class ExternalPackageUtil {
public static Rule getRuleByName(final String ruleName, Environment env)
throws ExternalPackageException, InterruptedException {
- Set<Rule> rules =
+ List<Rule> rules =
getRules(
env,
true,