public class SystemLuaCxxLibrary extends Object implements AbstractCxxLibraryGroup, NativeLinkableGroup
NativeLinkableGroup.Linkage
Constructor and Description |
---|
SystemLuaCxxLibrary(BuildTarget target) |
Modifier and Type | Method and Description |
---|---|
void |
addToCollector(AndroidPackageableCollector collector)
Add concrete resources to the given collector.
|
BuildTarget |
getBuildTarget() |
Iterable<CxxPreprocessorDep> |
getCxxPreprocessorDeps(CxxPlatform cxxPlatform,
BuildRuleResolver ruleResolver) |
CxxPreprocessorInput |
getCxxPreprocessorInput(CxxPlatform cxxPlatform,
ActionGraphBuilder graphBuilder)
Returns the preprocessor input that represents this rule's public (exported) declarations.
|
NativeLinkable |
getNativeLinkable(CxxPlatform cxxPlatform,
ActionGraphBuilder graphBuilder) |
Iterable<AndroidPackageable> |
getRequiredPackageables(BuildRuleResolver ruleResolver)
Get the set of packagables that need to be included in any package that includes this object.
|
com.google.common.collect.ImmutableMap<BuildTarget,CxxPreprocessorInput> |
getTransitiveCxxPreprocessorInput(CxxPlatform cxxPlatform,
ActionGraphBuilder graphBuilder)
Returns all transitive preprocessor inputs for this library.
|
public SystemLuaCxxLibrary(BuildTarget target)
public BuildTarget getBuildTarget()
getBuildTarget
in interface CxxPreprocessorDep
getBuildTarget
in interface NativeLinkableGroup
public Iterable<AndroidPackageable> getRequiredPackageables(BuildRuleResolver ruleResolver)
AndroidPackageable
For example, an android_library will need all of its Java deps (except provided_deps), its resource deps, and its native library deps (even though it doesn't need the native library as a build-time dependency). An android_resource might need an android_library that declares a custom view that it references, as well as other android_resource rules that it references directly.
TODO(natthu): Once build rules and buildables are merged, replace this method with another
interface that lets an AndroidPackageable
override the default set which is all deps of
the type AndroidPackageable
.
getRequiredPackageables
in interface AndroidPackageable
AndroidPackageable
s that must be included along with this one.public void addToCollector(AndroidPackageableCollector collector)
AndroidPackageable
Implementations should call methods on the collector specify what concrete content must be included in an Android package that includes this object. For example, an android_library will add Java classes, an ndk_library will add native libraries, and android_resource will add resource directories.
addToCollector
in interface AndroidPackageable
collector
- The AndroidPackageableCollector
that will receive the content.public Iterable<CxxPreprocessorDep> getCxxPreprocessorDeps(CxxPlatform cxxPlatform, BuildRuleResolver ruleResolver)
getCxxPreprocessorDeps
in interface CxxPreprocessorDep
public CxxPreprocessorInput getCxxPreprocessorInput(CxxPlatform cxxPlatform, ActionGraphBuilder graphBuilder)
CxxPreprocessorDep
getCxxPreprocessorInput
in interface CxxPreprocessorDep
public com.google.common.collect.ImmutableMap<BuildTarget,CxxPreprocessorInput> getTransitiveCxxPreprocessorInput(CxxPlatform cxxPlatform, ActionGraphBuilder graphBuilder)
CxxPreprocessorDep
getTransitiveCxxPreprocessorInput
in interface CxxPreprocessorDep
public NativeLinkable getNativeLinkable(CxxPlatform cxxPlatform, ActionGraphBuilder graphBuilder)
getNativeLinkable
in interface NativeLinkableGroup