aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Chris Parsons <cparsons@google.com>2017-02-23 21:20:23 +0000
committerGravatar Irina Iancu <elenairina@google.com>2017-02-24 08:30:07 +0000
commitac6b092caafc7e1f7b58b4d2556ad79d6e2145c8 (patch)
treee583c0e1b3c8a1ec5c0c0301f2b9d5ead1f4c526 /src
parenta2e50847230e72c1782aefe9a3b728d799bee505 (diff)
Better error messaging if apple cc toolchain cannot locate xcode
-- PiperOrigin-RevId: 148382422 MOS_MIGRATED_REVID=148382422
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/apple/cpp/AppleCcToolchain.java11
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java5
2 files changed, 10 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/apple/cpp/AppleCcToolchain.java b/src/main/java/com/google/devtools/build/lib/rules/apple/cpp/AppleCcToolchain.java
index 4c1d991a15..3ce8d66895 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/apple/cpp/AppleCcToolchain.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/apple/cpp/AppleCcToolchain.java
@@ -53,17 +53,18 @@ public class AppleCcToolchain extends CcToolchain {
public static final String APPLE_SDK_PLATFORM_VALUE_KEY = "apple_sdk_platform_value";
@Override
- protected Map<String, String> getBuildVariables(RuleContext ruleContext) {
+ protected Map<String, String> getBuildVariables(RuleContext ruleContext)
+ throws RuleErrorException {
AppleConfiguration appleConfiguration = ruleContext.getFragment(AppleConfiguration.class);
-
+
if (appleConfiguration.getXcodeVersion() == null) {
- ruleContext.ruleError("Xcode version must be specified to use an Apple CROSSTOOL");
+ ruleContext.throwWithRuleError("Xcode version must be specified to use an Apple CROSSTOOL");
}
-
+
Platform platform = appleConfiguration.getSingleArchPlatform();
Map<String, String> appleEnv = getEnvironment(ruleContext);
-
+
return ImmutableMap.<String, String>builder()
.put(
XCODE_VERSION_KEY,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java
index 5ff16981f1..ca9cf8c98f 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java
@@ -345,8 +345,11 @@ public class CcToolchain implements RuleConfiguredTargetFactory {
* be overridden by subclasses of CcToolchain.
*
* @param ruleContext the rule context
+ * @throws RuleErrorException if there are configuration errors making it impossible to resolve
+ * certain build variables of this toolchain
*/
- protected Map<String, String> getBuildVariables(RuleContext ruleContext) {
+ protected Map<String, String> getBuildVariables(RuleContext ruleContext)
+ throws RuleErrorException {
return ImmutableMap.<String, String>of();
}