aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar lberki <lberki@google.com>2017-07-10 13:35:26 +0200
committerGravatar László Csomor <laszlocsomor@google.com>2017-07-10 14:37:38 +0200
commitf37d9aed11e7da6d69e731e8fb9b3023e09df4ac (patch)
treee23672ad44b4076e9cf87864bcb7279cd6f00266
parent8a9be26492651afd8c71e5da98751e36d948b4e5 (diff)
Remove the functionality from alias() to point nowhere.
It's never used and was broken anyway (see #getLabel()). The functionality has been laying there unused since the initial checkin in unknown commit. RELNOTES: None. PiperOrigin-RevId: 161378717
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java37
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/AliasTest.java5
2 files changed, 17 insertions, 25 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java
index 369976a5d6..42224f6d21 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java
@@ -14,7 +14,6 @@
package com.google.devtools.build.lib.rules;
import com.google.common.collect.ImmutableCollection;
-import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
@@ -23,8 +22,6 @@ import com.google.devtools.build.lib.analysis.RuleContext;
import com.google.devtools.build.lib.analysis.TransitiveInfoProvider;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.cmdline.Label;
-import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
-import com.google.devtools.build.lib.collect.nestedset.Order;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.packages.ClassObjectConstructor;
@@ -53,11 +50,11 @@ public final class AliasConfiguredTarget implements ConfiguredTarget, ClassObjec
public AliasConfiguredTarget(
RuleContext ruleContext,
- @Nullable ConfiguredTarget actual,
+ ConfiguredTarget actual,
ImmutableMap<Class<? extends TransitiveInfoProvider>, TransitiveInfoProvider> overrides) {
this.label = ruleContext.getLabel();
this.configuration = Preconditions.checkNotNull(ruleContext.getConfiguration());
- this.actual = actual;
+ this.actual = Preconditions.checkNotNull(actual);
this.overrides = Preconditions.checkNotNull(overrides);
}
@@ -67,7 +64,7 @@ public final class AliasConfiguredTarget implements ConfiguredTarget, ClassObjec
return provider.cast(overrides.get(provider));
}
- return actual == null ? null : actual.getProvider(provider);
+ return actual.getProvider(provider);
}
@Override
@@ -77,28 +74,28 @@ public final class AliasConfiguredTarget implements ConfiguredTarget, ClassObjec
@Override
public Object get(String providerKey) {
- return actual == null ? null : actual.get(providerKey);
+ return actual.get(providerKey);
}
@Nullable
@Override
public SkylarkClassObject get(ClassObjectConstructor.Key providerKey) {
- return actual == null ? null : actual.get(providerKey);
+ return actual.get(providerKey);
}
@Override
public Object getIndex(Object key, Location loc) throws EvalException {
- return actual == null ? null : actual.getIndex(key, loc);
+ return actual.getIndex(key, loc);
}
@Override
public boolean containsKey(Object key, Location loc) throws EvalException {
- return actual != null && actual.containsKey(key, loc);
+ return actual.containsKey(key, loc);
}
@Override
public Target getTarget() {
- return actual == null ? null : actual.getTarget();
+ return actual.getTarget();
}
@Override
@@ -119,19 +116,14 @@ public final class AliasConfiguredTarget implements ConfiguredTarget, ClassObjec
// A shortcut for files to build in Skylark. FileConfiguredTarget and RuleConfiguredTarget
// always has FileProvider and Error- and PackageGroupConfiguredTarget-s shouldn't be
// accessible in Skylark.
- return SkylarkNestedSet.of(Artifact.class, actual == null
- ? NestedSetBuilder.<Artifact>emptySet(Order.STABLE_ORDER)
- : getProvider(FileProvider.class).getFilesToBuild());
+ return SkylarkNestedSet.of(Artifact.class, getProvider(FileProvider.class).getFilesToBuild());
}
- return actual == null ? null : actual.getValue(name);
+ return actual.getValue(name);
}
@Override
public ImmutableCollection<String> getKeys() {
- if (actual != null) {
- return actual.getKeys();
- }
- return ImmutableList.of();
+ return actual.getKeys();
}
@Override
@@ -143,7 +135,6 @@ public final class AliasConfiguredTarget implements ConfiguredTarget, ClassObjec
/**
* Returns a target this target aliases.
*/
- @Nullable
public ConfiguredTarget getActual() {
return actual;
}
@@ -155,10 +146,6 @@ public final class AliasConfiguredTarget implements ConfiguredTarget, ClassObjec
@Override
public void repr(SkylarkPrinter printer) {
- printer.append("<alias target " + label);
- if (actual != null) {
- printer.append(" of " + actual.getLabel());
- }
- printer.append(">");
+ printer.append("<alias target " + label + " of " + actual.getLabel() + ">");
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/AliasTest.java b/src/test/java/com/google/devtools/build/lib/rules/AliasTest.java
index 029998968f..075d4e7c4c 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/AliasTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/AliasTest.java
@@ -247,4 +247,9 @@ public class AliasTest extends BuildViewTestCase {
useConfiguration("--crosstool_top=//a:cc");
getConfiguredTarget("//a:a");
}
+
+ @Test
+ public void testNoActual() throws Exception {
+ checkError("a", "a", "missing value for mandatory attribute 'actual'", "alias(name='a')");
+ }
}