aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfigurationLoader.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2017-02-02 19:16:37 +0000
committerGravatar Yun Peng <pcloudy@google.com>2017-02-03 10:24:09 +0000
commit41aa37270a87e61bdf739284602842d6a23f94d1 (patch)
tree730f4886ba808826cb18ab97197f090a9faa50bc /src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfigurationLoader.java
parent6521cb22788adc2a74f6c26221dbe302dc9ccc14 (diff)
Experimental feature to do header thinning of Objective-C compilation actions.
-- PiperOrigin-RevId: 146385106 MOS_MIGRATED_REVID=146385106
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfigurationLoader.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfigurationLoader.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfigurationLoader.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfigurationLoader.java
index a23a234d52..ec8fc4e523 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfigurationLoader.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcConfigurationLoader.java
@@ -33,10 +33,20 @@ public class ObjcConfigurationLoader implements ConfigurationFragmentFactory {
throws InvalidConfigurationException, InterruptedException {
Options options = buildOptions.get(BuildConfiguration.Options.class);
ObjcCommandLineOptions objcOptions = buildOptions.get(ObjcCommandLineOptions.class);
-
+ validate(objcOptions);
return new ObjcConfiguration(objcOptions, options, env.getBlazeDirectories());
}
+ private static void validate(ObjcCommandLineOptions objcOptions)
+ throws InvalidConfigurationException {
+ if (objcOptions.experimentalObjcHeaderThinning && objcOptions.useDotdPruning) {
+ throw new InvalidConfigurationException(
+ "Cannot use Objective-C dotd pruning "
+ + "(--objc_use_dotd_pruning) and experimental Objective-C header thinning "
+ + "(--experimental_objc_header_thinning) at the same time.");
+ }
+ }
+
@Override
public Class<? extends BuildConfiguration.Fragment> creates() {
return ObjcConfiguration.class;