diff options
author | 2016-06-24 16:47:31 +0000 | |
---|---|---|
committer | 2016-06-27 11:39:09 +0000 | |
commit | 3e6f29fcddf4c2d0306e29da01a6d2a49c036249 (patch) | |
tree | d1e0fd23dee74e01accae7700a02bc70256ed53f /src/main/java/com/google/devtools/build/lib/analysis/constraints/Environment.java | |
parent | 28711af16c337976ba10d54cc50db8bc193e3bb3 (diff) |
Provide clearer messaging when a build fails because a rule's
supported environments get refined away by incompatible
select paths.
This is a fix of TODO:
https://github.com/bazelbuild/bazel/blob/master/src/main/java/com/google/devtools/build/lib/analysis/constraints/ConstraintSemantics.java#L597
Old message:
ERROR: /workspace/foo/BUILD:3:1: in cc_binary rule //foo:main: all environments have been refined out of the following groups: //buildenv:environment_group
New message:
ERROR: /workspace/foo/BUILD:3:1: in cc_binary rule //foo:main: the current command-line flags disqualify all supported environments because of incompatible select() paths:
environment: //buildenv:gce removed by: //util/lib:some_dep_with_select (/workspace/util/lib/BUILD:12:1)
--
MOS_MIGRATED_REVID=125788804
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/constraints/Environment.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/constraints/Environment.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/constraints/Environment.java b/src/main/java/com/google/devtools/build/lib/analysis/constraints/Environment.java index 52e10c8e48..dfdc7e4347 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/constraints/Environment.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/constraints/Environment.java @@ -14,6 +14,7 @@ package com.google.devtools.build.lib.analysis.constraints; +import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.analysis.ConfiguredTarget; import com.google.devtools.build.lib.analysis.FileProvider; import com.google.devtools.build.lib.analysis.FilesToRunProvider; @@ -23,6 +24,7 @@ import com.google.devtools.build.lib.analysis.RunfilesProvider; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.packages.EnvironmentGroup; import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException; +import com.google.devtools.build.lib.packages.Target; import com.google.devtools.build.lib.rules.RuleConfiguredTargetFactory; /** @@ -47,7 +49,8 @@ public class Environment implements RuleConfiguredTargetFactory { EnvironmentCollection env = new EnvironmentCollection.Builder().put(group, label).build(); return new RuleConfiguredTargetBuilder(ruleContext) - .addProvider(SupportedEnvironmentsProvider.class, new SupportedEnvironments(env, env)) + .addProvider(SupportedEnvironmentsProvider.class, + new SupportedEnvironments(env, env, ImmutableMap.<Label, Target>of())) .addProvider(RunfilesProvider.class, RunfilesProvider.EMPTY) .add(FileProvider.class, FileProvider.EMPTY) .add(FilesToRunProvider.class, FilesToRunProvider.EMPTY) |