aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com
diff options
context:
space:
mode:
authorGravatar laurentlb <laurentlb@google.com>2018-05-16 12:12:26 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-05-16 12:14:08 -0700
commit1d273cd492f79f018ee05bf6019c6f9caba34673 (patch)
tree97130ef346a1532cd9561db7719bab8f9a18a4d2 /src/main/java/com
parent14c8de626fbd5a63cf843b98c3bef055071d361c (diff)
Remove glob list from native rules
Since the glob() function now returns a standard list, some code can be simplified. RELNOTES: None. PiperOrigin-RevId: 196867957
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/AttributeFormatter.java13
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java7
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/Rule.java13
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/RuleClass.java11
-rw-r--r--src/main/java/com/google/devtools/build/lib/syntax/Type.java14
5 files changed, 6 insertions, 52 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/AttributeFormatter.java b/src/main/java/com/google/devtools/build/lib/packages/AttributeFormatter.java
index e48dbb4138..cda20bd1ae 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/AttributeFormatter.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/AttributeFormatter.java
@@ -304,8 +304,6 @@ public class AttributeFormatter {
void addFilesetListValue(Build.FilesetEntry.Builder builder);
- void addGlobCriteria(Build.GlobCriteria.Builder builder);
-
void addLabelDictUnaryValue(LabelDictUnaryEntry.Builder builder);
void addLabelKeyedStringDictValue(LabelKeyedStringDictEntry.Builder builder);
@@ -358,11 +356,6 @@ public class AttributeFormatter {
}
@Override
- public void addGlobCriteria(Build.GlobCriteria.Builder builder) {
- attributeBuilder.addGlobCriteria(builder);
- }
-
- @Override
public void addLabelDictUnaryValue(LabelDictUnaryEntry.Builder builder) {
attributeBuilder.addLabelDictUnaryValue(builder);
}
@@ -484,11 +477,6 @@ public class AttributeFormatter {
}
@Override
- public void addGlobCriteria(Build.GlobCriteria.Builder builder) {
- selectorEntryBuilder.addGlobCriteria(builder);
- }
-
- @Override
public void addLabelDictUnaryValue(LabelDictUnaryEntry.Builder builder) {
selectorEntryBuilder.addLabelDictUnaryValue(builder);
}
@@ -544,4 +532,3 @@ public class AttributeFormatter {
}
}
}
-
diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
index c65b4aa8e4..ad682b6d33 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
@@ -48,7 +48,6 @@ import com.google.devtools.build.lib.syntax.EvalException;
import com.google.devtools.build.lib.syntax.EvalUtils;
import com.google.devtools.build.lib.syntax.FuncallExpression;
import com.google.devtools.build.lib.syntax.FunctionSignature;
-import com.google.devtools.build.lib.syntax.GlobList;
import com.google.devtools.build.lib.syntax.Mutability;
import com.google.devtools.build.lib.syntax.ParserInputSource;
import com.google.devtools.build.lib.syntax.Runtime;
@@ -578,11 +577,7 @@ public final class PackageFactory {
throw new EvalException(ast.getLocation(), e.getMessage());
}
- GlobList<String> globList = GlobList.captureResults(includes, excludes, matches);
-
- // TODO(laurentlb): Get rid of globList type.
- // Converting to ImmutableList will remove glob information from the list.
- return MutableList.copyOf(env, ImmutableList.copyOf(globList));
+ return MutableList.copyOf(env, matches);
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Rule.java b/src/main/java/com/google/devtools/build/lib/packages/Rule.java
index 027d292b41..c7cca63e85 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Rule.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Rule.java
@@ -35,7 +35,6 @@ import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.packages.License.DistributionType;
import com.google.devtools.build.lib.syntax.EvalException;
-import com.google.devtools.build.lib.syntax.GlobList;
import com.google.devtools.build.lib.syntax.Type;
import com.google.devtools.build.lib.util.BinaryPredicate;
import java.util.Collection;
@@ -695,18 +694,6 @@ public final class Rule implements Target, DependencyFilter.AttributeInfoProvide
}
}
- /**
- * Returns the globs that were expanded to create an attribute value, or
- * null if unknown or not applicable.
- */
- public static GlobList<?> getGlobInfo(Object attributeValue) {
- if (attributeValue instanceof GlobList<?>) {
- return (GlobList<?>) attributeValue;
- } else {
- return null;
- }
- }
-
private void checkForNullLabel(Label labelToCheck, Object context) {
if (labelToCheck == null) {
throw new IllegalStateException(String.format(
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
index bd1f4b4da2..0389764804 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
@@ -50,7 +50,6 @@ import com.google.devtools.build.lib.syntax.Argument;
import com.google.devtools.build.lib.syntax.BaseFunction;
import com.google.devtools.build.lib.syntax.EvalException;
import com.google.devtools.build.lib.syntax.FuncallExpression;
-import com.google.devtools.build.lib.syntax.GlobList;
import com.google.devtools.build.lib.syntax.Runtime;
import com.google.devtools.build.lib.syntax.SkylarkList;
import com.google.devtools.build.lib.syntax.Type;
@@ -1976,11 +1975,11 @@ public class RuleClass {
/**
* Converts the build-language-typed {@code buildLangValue} to a native value via {@link
- * BuildType#selectableConvert}. Canonicalizes the value's order if it is a {@link List} type
- * (but not a {@link GlobList}) and {@code attr.isOrderIndependent()} returns {@code true}.
+ * BuildType#selectableConvert}. Canonicalizes the value's order if it is a {@link List} type and
+ * {@code attr.isOrderIndependent()} returns {@code true}.
*
- * <p>Throws {@link ConversionException} if the conversion fails, or if {@code buildLangValue}
- * is a selector expression but {@code attr.isConfigurable()} is {@code false}.
+ * <p>Throws {@link ConversionException} if the conversion fails, or if {@code buildLangValue} is
+ * a selector expression but {@code attr.isConfigurable()} is {@code false}.
*/
private static Object convertFromBuildLangType(Rule rule, Attribute attr, Object buildLangValue)
throws ConversionException {
@@ -1995,7 +1994,7 @@ public class RuleClass {
String.format("attribute \"%s\" is not configurable", attr.getName()));
}
- if ((converted instanceof List<?>) && !(converted instanceof GlobList<?>)) {
+ if (converted instanceof List<?>) {
if (attr.isOrderIndependent()) {
@SuppressWarnings("unchecked")
List<? extends Comparable<?>> list = (List<? extends Comparable<?>>) converted;
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Type.java b/src/main/java/com/google/devtools/build/lib/syntax/Type.java
index d8509e3a37..62336d14e4 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Type.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Type.java
@@ -23,7 +23,6 @@ import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.syntax.Printer.BasePrinter;
-import com.google.devtools.build.lib.syntax.SkylarkList.MutableList;
import com.google.devtools.build.lib.util.LoggingUtil;
import com.google.devtools.build.lib.util.StringCanonicalizer;
import java.util.ArrayList;
@@ -599,19 +598,6 @@ public abstract class Type<T> {
}
++index;
}
- // We preserve GlobList-s so they can make it to attributes;
- // some external code relies on attributes preserving this information.
- // TODO(bazel-team): somehow make Skylark extensible enough that
- // GlobList support can be wholly moved out of Skylark into an extension.
- if (x instanceof GlobList<?>) {
- return new GlobList<>(((GlobList<?>) x).getCriteria(), result);
- }
- if (x instanceof MutableList) {
- GlobList<?> globList = ((MutableList) x).getGlobList();
- if (globList != null) {
- return new GlobList<>(globList.getCriteria(), result);
- }
- }
return result;
}