aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2017-05-01 19:00:58 +0200
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-05-02 11:25:51 +0200
commit5da0dd559885e3175e28b9d4b11fc6408939f211 (patch)
tree24929477d3b1119e1df13ddd0e50a00a56cdb59d /src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java
parent248581e8c72687c85b5c41edaea6780c8701aa55 (diff)
Automated g4 rollback of commit e7fe50aa727df9ef0a3d37fa258d017971035515. *** Reason for rollback *** Roll forward. The bzl change is removed because it has to be submitted after next Blaze release. *** Original change description *** Automated g4 rollback of commit 5f31944b8942818aaf53571c76f5c6a9a9dafc72. *** Reason for rollback *** This caused some build breaks. *** Original change description *** Custom module map for j2objc_library PiperOrigin-RevId: 154726197
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcLibraryHelper.java17
1 files changed, 17 insertions, 0 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 3154b16a34..35b39eedea 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
@@ -16,6 +16,7 @@ package com.google.devtools.build.lib.rules.cpp;
import com.google.common.base.Function;
import com.google.common.base.Joiner;
+import com.google.common.base.Optional;
import com.google.common.base.Predicates;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -1384,6 +1385,11 @@ public final class CcLibraryHelper {
featureConfiguration.isEnabled(CppRuleClasses.HEADER_MODULES)
|| featureConfiguration.isEnabled(CppRuleClasses.COMPILE_ALL_MODULES);
Iterable<CppModuleMap> dependentModuleMaps = collectModuleMaps();
+ Optional<Artifact> umbrellaHeader = cppModuleMap.getUmbrellaHeader();
+ if (umbrellaHeader.isPresent()) {
+ ruleContext.registerAction(
+ createUmbrellaHeaderAction(umbrellaHeader.get(), publicHeaders));
+ }
ruleContext.registerAction(
createModuleMapAction(cppModuleMap, publicHeaders, dependentModuleMaps, compiled));
if (model.getGeneratesPicHeaderModule()) {
@@ -1412,6 +1418,17 @@ public final class CcLibraryHelper {
return contextBuilder.build();
}
+ private UmbrellaHeaderAction createUmbrellaHeaderAction(Artifact umbrellaHeader,
+ PublicHeaders publicHeaders) {
+ return new UmbrellaHeaderAction(
+ ruleContext.getActionOwner(),
+ umbrellaHeader,
+ featureConfiguration.isEnabled(CppRuleClasses.ONLY_DOTH_HEADERS_IN_MODULE_MAPS)
+ ? Iterables.filter(publicHeaders.getModuleMapHeaders(), CppFileTypes.MODULE_MAP_HEADER)
+ : publicHeaders.getModuleMapHeaders(),
+ additionalExportedHeaders);
+ }
+
private CppModuleMapAction createModuleMapAction(
CppModuleMap moduleMap,
PublicHeaders publicHeaders,