From 395d662e26b80fd57b2c99babf84f4fbec94a05c Mon Sep 17 00:00:00 2001 From: Cal Peyser Date: Fri, 12 Aug 2016 18:47:26 +0000 Subject: Support xcode project generation in experimental_objc_library. -- MOS_MIGRATED_REVID=130123926 --- .../build/lib/rules/objc/ExperimentalObjcLibrary.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalObjcLibrary.java') 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 filesToBuild = NestedSetBuilder.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(); } -- cgit v1.2.3