diff options
author | Cal Peyser <cpeyser@google.com> | 2016-08-16 18:25:34 +0000 |
---|---|---|
committer | Philipp Wollermann <philwo@google.com> | 2016-08-17 11:25:13 +0000 |
commit | 56d626744decd73f5eed976f27988967757027d1 (patch) | |
tree | 61e0308d404025d147cfffb17cda06cf825bba7e /src/main/java/com/google | |
parent | d503fdcc7dfc61b53b7843585fde4aec5bbf03da (diff) |
Add defines to experimental_objc_library.
--
MOS_MIGRATED_REVID=130424806
Diffstat (limited to 'src/main/java/com/google')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/objc/ExperimentalObjcLibrary.java | 15 |
1 files changed, 13 insertions, 2 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 a5aef38a14..f02a63e988 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,7 @@ package com.google.devtools.build.lib.rules.objc; +import static com.google.devtools.build.lib.rules.objc.ObjcProvider.DEFINE; import static com.google.devtools.build.lib.rules.objc.XcodeProductType.LIBRARY_STATIC; import com.google.common.collect.ImmutableList; @@ -36,6 +37,7 @@ import com.google.devtools.build.lib.rules.cpp.CcToolchainProvider; import com.google.devtools.build.lib.rules.cpp.CppRuleClasses; import com.google.devtools.build.lib.rules.cpp.Link.LinkTargetType; import com.google.devtools.build.lib.rules.cpp.PrecompiledFiles; +import com.google.devtools.build.lib.rules.objc.ObjcCommon.ResourceAttributes; import java.util.Collection; /** Implementation for experimental_objc_library. */ @@ -175,6 +177,7 @@ public class ExperimentalObjcLibrary implements RuleConfiguredTargetFactory { .addSources(arcSources, ImmutableMap.of("objc_arc", "")) .addSources(nonArcSources, ImmutableMap.of("no_objc_arc", "")) .addSources(privateHdrs) + .addDefines(common.getObjcProvider().get(DEFINE)) .enableCompileProviders() .addPublicHeaders(publicHdrs) .addPrecompiledFiles(precompiledFiles) @@ -217,6 +220,7 @@ public class ExperimentalObjcLibrary implements RuleConfiguredTargetFactory { .registerActions(xcodeProviderBuilder.build()); return ObjcRuleClasses.ruleConfiguredTarget(ruleContext, filesToBuild.build()) + .addProvider(ObjcProvider.class, common.getObjcProvider()) .addProviders(info.getProviders()) .addProvider(XcodeProvider.class, xcodeProviderBuilder.build()) .build(); @@ -261,14 +265,21 @@ public class ExperimentalObjcLibrary implements RuleConfiguredTargetFactory { } } - private static ObjcCommon common( + /** + * Constructs an {@link ObjcCommon} instance based on the attributes of the given rule context. + */ + private ObjcCommon common( RuleContext ruleContext, CompilationAttributes compilationAttributes, CompilationArtifacts compilationArtifacts) { return new ObjcCommon.Builder(ruleContext) .setCompilationAttributes(compilationAttributes) + .setResourceAttributes(new ResourceAttributes(ruleContext)) + .addDefines(ruleContext.getTokenizedStringListAttr("defines")) .setCompilationArtifacts(compilationArtifacts) - .addDepObjcProviders(ruleContext.getPrerequisites("deps", Mode.TARGET, ObjcProvider.class)) + .addDeps(ruleContext.getPrerequisites("deps", Mode.TARGET)) + .addRuntimeDeps(ruleContext.getPrerequisites("runtime_deps", Mode.TARGET)) + .setIntermediateArtifacts(ObjcRuleClasses.intermediateArtifacts(ruleContext)) .build(); } |