diff options
author | 2018-05-16 12:12:26 -0700 | |
---|---|---|
committer | 2018-05-16 12:14:08 -0700 | |
commit | 1d273cd492f79f018ee05bf6019c6f9caba34673 (patch) | |
tree | 97130ef346a1532cd9561db7719bab8f9a18a4d2 /src/main/java | |
parent | 14c8de626fbd5a63cf843b98c3bef055071d361c (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')
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; } |