aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalObjcLibrary.java
diff options
context:
space:
mode:
authorGravatar Cal Peyser <cpeyser@google.com>2016-08-12 18:47:26 +0000
committerGravatar Philipp Wollermann <philwo@google.com>2016-08-16 15:20:24 +0000
commit395d662e26b80fd57b2c99babf84f4fbec94a05c (patch)
treebbea930da8dd2d9556f74bb7491bb72e9ceb2d8f /src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalObjcLibrary.java
parent641c1327f08de4122a360a327e02101aa00f7394 (diff)
Support xcode project generation in experimental_objc_library.
-- MOS_MIGRATED_REVID=130123926
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalObjcLibrary.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalObjcLibrary.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalObjcLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalObjcLibrary.java
index f4e8652fe4..a5aef38a14 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalObjcLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalObjcLibrary.java
@@ -14,6 +14,8 @@
package com.google.devtools.build.lib.rules.objc;
+import static com.google.devtools.build.lib.rules.objc.XcodeProductType.LIBRARY_STATIC;
+
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Sets;
@@ -203,8 +205,20 @@ public class ExperimentalObjcLibrary implements RuleConfiguredTargetFactory {
NestedSetBuilder<Artifact> filesToBuild =
NestedSetBuilder.<Artifact>stableOrder().addAll(common.getCompiledArchive().asSet());
+ XcodeProvider.Builder xcodeProviderBuilder = new XcodeProvider.Builder();
+ compilationSupport.addXcodeSettings(xcodeProviderBuilder, common);
+ new XcodeSupport(ruleContext)
+ .addFilesToBuild(filesToBuild)
+ .addXcodeSettings(xcodeProviderBuilder, common.getObjcProvider(), LIBRARY_STATIC)
+ .addDependencies(xcodeProviderBuilder, new Attribute("bundles", Mode.TARGET))
+ .addDependencies(xcodeProviderBuilder, new Attribute("deps", Mode.TARGET))
+ .addNonPropagatedDependencies(
+ xcodeProviderBuilder, new Attribute("non_propagated_deps", Mode.TARGET))
+ .registerActions(xcodeProviderBuilder.build());
+
return ObjcRuleClasses.ruleConfiguredTarget(ruleContext, filesToBuild.build())
.addProviders(info.getProviders())
+ .addProvider(XcodeProvider.class, xcodeProviderBuilder.build())
.build();
}