public class CxxPreprocessables extends Object
Modifier and Type | Class and Description |
---|---|
static class |
CxxPreprocessables.IncludeType |
Modifier and Type | Method and Description |
---|---|
static CxxPreprocessorInput.Builder |
addHeaderSymlinkTree(CxxPreprocessorInput.Builder builder,
BuildTarget target,
ActionGraphBuilder graphBuilder,
CxxPlatform platform,
HeaderVisibility headerVisibility,
CxxPreprocessables.IncludeType includeType) |
static HeaderSymlinkTree |
createHeaderSymlinkTreeBuildRule(BuildTarget target,
ProjectFilesystem filesystem,
Path root,
com.google.common.collect.ImmutableMap<Path,SourcePath> links,
HeaderMode headerMode)
Build the
HeaderSymlinkTree rule using the original build params from a target node. |
static CxxPreprocessorInput |
getCxxPreprocessorInput(BuildTarget buildTarget,
ActionGraphBuilder graphBuilder,
boolean hasHeaderSymlinkTree,
CxxPlatform platform,
HeaderVisibility headerVisibility,
CxxPreprocessables.IncludeType includeType,
com.google.common.collect.Multimap<CxxSource.Type,String> exportedPreprocessorFlags,
Iterable<FrameworkPath> frameworks)
Builds a
CxxPreprocessorInput for a rule. |
static Collection<CxxPreprocessorInput> |
getTransitiveCxxPreprocessorInput(CxxPlatform cxxPlatform,
ActionGraphBuilder graphBuilder,
Iterable<? extends CxxPreprocessorDep> inputs)
Find and return the
CxxPreprocessorInput objects from CxxPreprocessorDep found. |
static Collection<CxxPreprocessorInput> |
getTransitiveCxxPreprocessorInputFromDeps(CxxPlatform cxxPlatform,
ActionGraphBuilder graphBuilder,
Iterable<? extends BuildRule> deps)
Find and return the
CxxPreprocessorInput objects from CxxPreprocessorDep found
from a list of all deps. |
static com.google.common.collect.ImmutableMap<Path,SourcePath> |
resolveHeaderMap(Path basePath,
com.google.common.collect.ImmutableMap<String,SourcePath> headers)
Resolve the map of name to
SourcePath to a map of full header name to SourcePath . |
public static com.google.common.collect.ImmutableMap<Path,SourcePath> resolveHeaderMap(Path basePath, com.google.common.collect.ImmutableMap<String,SourcePath> headers)
SourcePath
to a map of full header name to SourcePath
.public static Collection<CxxPreprocessorInput> getTransitiveCxxPreprocessorInput(CxxPlatform cxxPlatform, ActionGraphBuilder graphBuilder, Iterable<? extends CxxPreprocessorDep> inputs)
CxxPreprocessorInput
objects from CxxPreprocessorDep
found.public static Collection<CxxPreprocessorInput> getTransitiveCxxPreprocessorInputFromDeps(CxxPlatform cxxPlatform, ActionGraphBuilder graphBuilder, Iterable<? extends BuildRule> deps)
CxxPreprocessorInput
objects from CxxPreprocessorDep
found
from a list of all deps.public static HeaderSymlinkTree createHeaderSymlinkTreeBuildRule(BuildTarget target, ProjectFilesystem filesystem, Path root, com.google.common.collect.ImmutableMap<Path,SourcePath> links, HeaderMode headerMode)
HeaderSymlinkTree
rule using the original build params from a target node. In
particular, make sure to drop all dependencies from the original build rule params, as these
are modeled via CxxPreprocessAndCompile
.public static CxxPreprocessorInput.Builder addHeaderSymlinkTree(CxxPreprocessorInput.Builder builder, BuildTarget target, ActionGraphBuilder graphBuilder, CxxPlatform platform, HeaderVisibility headerVisibility, CxxPreprocessables.IncludeType includeType)
SymlinkTree
for the given rule to the CxxPreprocessorInput
.public static CxxPreprocessorInput getCxxPreprocessorInput(BuildTarget buildTarget, ActionGraphBuilder graphBuilder, boolean hasHeaderSymlinkTree, CxxPlatform platform, HeaderVisibility headerVisibility, CxxPreprocessables.IncludeType includeType, com.google.common.collect.Multimap<CxxSource.Type,String> exportedPreprocessorFlags, Iterable<FrameworkPath> frameworks)
CxxPreprocessorInput
for a rule.