aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar Cal Peyser <cpeyser@google.com>2017-01-23 21:53:40 +0000
committerGravatar Laszlo Csomor <laszlocsomor@google.com>2017-01-24 10:48:01 +0000
commit9a7a5944574124afb70a31ddf704e57fa583f68a (patch)
tree038520fc8e33ddd14c3830c1bc535a572c41076c /src/main/java
parentd47059c4b2f2c02373fcfa82356ef2c6c343cbb3 (diff)
experimental_objc_library excludes private headers from module maps. This
brings it in line with the behavior in objc_library. -- PiperOrigin-RevId: 145330154 MOS_MIGRATED_REVID=145330154
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppRuleClasses.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/CrosstoolCompilationSupport.java1
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);