From 4dfb22c4bad3dfa4dba46426c8587c0aa148d8d9 Mon Sep 17 00:00:00 2001 From: Chris Parsons Date: Mon, 23 May 2016 17:39:42 +0000 Subject: Allow use of Exceptions to exit early out of configured-target creation, instead of passing and checking null in all helpers. Demonstrates this pattern usage in a few select rules (e.g. AndroidBinary) where this was particularly egregious. There are many places which can benefit from this pattern -- this change doesn't try to fix them all at once. -- MOS_MIGRATED_REVID=123012378 --- .../java/com/google/devtools/build/lib/rules/cpp/CcIncLibrary.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CcIncLibrary.java') diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcIncLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcIncLibrary.java index bceaa59c99..923bc716a8 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcIncLibrary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcIncLibrary.java @@ -24,6 +24,7 @@ import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.Runfiles; import com.google.devtools.build.lib.analysis.RunfilesProvider; import com.google.devtools.build.lib.analysis.actions.CreateIncSymlinkAction; +import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException; import com.google.devtools.build.lib.rules.RuleConfiguredTargetFactory; import com.google.devtools.build.lib.rules.cpp.CcToolchainFeatures.FeatureConfiguration; import com.google.devtools.build.lib.rules.test.InstrumentedFilesProvider; @@ -57,7 +58,7 @@ public abstract class CcIncLibrary implements RuleConfiguredTargetFactory { } @Override - public ConfiguredTarget create(final RuleContext ruleContext) { + public ConfiguredTarget create(final RuleContext ruleContext) throws RuleErrorException { FeatureConfiguration featureConfiguration = CcCommon.configureFeatures(ruleContext); PathFragment packageFragment = ruleContext.getPackageDirectory(); -- cgit v1.2.3