diff options
author | Greg Estren <gregce@google.com> | 2015-06-11 19:42:06 +0000 |
---|---|---|
committer | Philipp Wollermann <philwo@google.com> | 2015-06-12 11:46:51 +0000 |
commit | 49671f4881094755a8a9a751827c4ae88a921f38 (patch) | |
tree | 5816fd25ff9259a29540f2f86585447c7cc64665 /src/test/java/com/google/devtools/build/lib/analysis/constraints | |
parent | 52811e0c555b83aa9506bd1051547d2ded069441 (diff) |
Have constraints' definition of implicit deps exactly match query's.
Before this change, constraints considered implicit deps anything from an attribute beginning with "$" or ":" (e.g. attributes that are completely hidden from BUILD files). Query agrees with this, but it also counts default values for *normal* attributes that aren't explicitly set in rules.
By syncing the two up, depot migrations can figure out which rules need to be constraint-annotated by simply running a bazel query --no_host_deps --no_implicit_deps.
--
MOS_MIGRATED_REVID=95766777
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/analysis/constraints')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/analysis/constraints/ConstraintsTest.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/constraints/ConstraintsTest.java b/src/test/java/com/google/devtools/build/lib/analysis/constraints/ConstraintsTest.java index f87b939050..9ccd2a22ed 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/constraints/ConstraintsTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/constraints/ConstraintsTest.java @@ -28,6 +28,7 @@ import com.google.devtools.build.lib.packages.Type; import com.google.devtools.build.lib.syntax.Label; import com.google.devtools.build.lib.testutil.TestRuleClassProvider; import com.google.devtools.build.lib.testutil.UnknownRuleConfiguredTarget; +import com.google.devtools.build.lib.util.FileTypeSet; import java.util.Set; @@ -42,7 +43,8 @@ public class ConstraintsTest extends AbstractConstraintsTest { // Support files for RuleClassWithImplicitAndLateBoundDefaults: scratch.file("helpers/BUILD", "sh_library(name = 'implicit', srcs = ['implicit.sh'])", - "sh_library(name = 'latebound', srcs = ['latebound.sh'])"); + "sh_library(name = 'latebound', srcs = ['latebound.sh'])", + "sh_library(name = 'default', srcs = ['default.sh'])"); } /** @@ -110,6 +112,9 @@ public class ConstraintsTest extends AbstractConstraintsTest { return Label.parseAbsoluteUnchecked("//helpers:latebound"); } })) + .add(Attribute.attr("normal", Type.LABEL) + .allowedFileTypes(FileTypeSet.NO_FILE) + .value(Label.parseAbsoluteUnchecked("//helpers:default"))) .build(); } @@ -633,6 +638,7 @@ public class ConstraintsTest extends AbstractConstraintsTest { // because of the implementation of UnknownRuleConfiguredTarget. assertDoesNotContainEvent(":implicit doesn't support expected environment"); assertDoesNotContainEvent(":latebound doesn't support expected environment"); + assertDoesNotContainEvent("normal doesn't support expected environment"); } public void testOutputFilesAreChecked() throws Exception { |