diff options
Diffstat (limited to 'src/main/java')
3 files changed, 10 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java index 40485cb627..0f79568c02 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java @@ -1225,7 +1225,9 @@ public final class CcLibraryHelper { new CppModuleMapAction( ruleContext.getActionOwner(), cppModuleMap, - privateHeaders, + featureConfiguration.isEnabled(CppRuleClasses.EXCLUDE_PRIVATE_HEADERS_IN_MODULE_MAPS) + ? ImmutableList.<Artifact>of() + : privateHeaders, publicHeaders.getHeaders(), collectModuleMaps(), additionalExportedHeaders, diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppRuleClasses.java index c26f9563c6..c06bdf006f 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppRuleClasses.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppRuleClasses.java @@ -203,6 +203,12 @@ public class CppRuleClasses { public static final String COMPILE_ALL_MODULES = "compile_all_modules"; /** + * A string constant for the exclude_private_headers_in_module_maps feature. + */ + public static final String EXCLUDE_PRIVATE_HEADERS_IN_MODULE_MAPS = + "exclude_private_headers_in_module_maps"; + + /** * A string constant for the use_header_modules feature. * * <p>This feature is only used during rollout; we expect to default enable this once we diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java index 1bdf71a985..e057c50af8 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java @@ -294,6 +294,7 @@ public class CrosstoolCompilationSupport extends CompilationSupport { // We create a module map by default to allow for Swift interop. .add(CppRuleClasses.MODULE_MAPS) .add(CppRuleClasses.COMPILE_ALL_MODULES) + .add(CppRuleClasses.EXCLUDE_PRIVATE_HEADERS_IN_MODULE_MAPS) .add(CppRuleClasses.COMPILE_ACTION_FLAGS_IN_FLAG_SET) .add(CppRuleClasses.DEPENDENCY_FILE) .add(CppRuleClasses.INCLUDE_PATHS); |