public class CxxThinLTOIndex extends ModernBuildRule<CxxThinLTOIndex.Impl> implements SupportsInputBasedRuleKey, HasAppleDebugSymbolDeps, OverrideScheduleRule
Modifier and Type | Class and Description |
---|---|
static class |
CxxThinLTOIndex.Impl
Buildable implementation of CxxLink.
|
Constructor and Description |
---|
CxxThinLTOIndex(BuildTarget buildTarget,
ProjectFilesystem projectFilesystem,
SourcePathRuleFinder ruleFinder,
Linker linker,
Path output,
com.google.common.collect.ImmutableList<Arg> args,
Optional<RuleScheduleInfo> ruleScheduleInfo,
boolean cacheable) |
Modifier and Type | Method and Description |
---|---|
java.util.stream.Stream<BuildRule> |
getAppleDebugSymbolDeps() |
com.google.common.collect.ImmutableList<Arg> |
getArgs() |
Linker |
getLinker() |
Optional<Path> |
getLinkerMapPath() |
RuleScheduleInfo |
getRuleScheduleInfo() |
SourcePath |
getSourcePathToOutput() |
boolean |
isCacheable()
Whether this
BuildRule can be cached. |
compareTo, getBuildable, getBuildCellPathFactory, getBuildDeps, getBuildSteps, getOutputPathResolver, getSetupStepsForBuildable, getSourcePath, getSourcePaths, injectFieldsIfNecessary, inputBasedRuleKeyIsEnabled, recordOutputs, recordOutputs, recordOutputs, stepsForBuildable, stepsForBuildable, updateBuildRuleResolver
equals, getBuildTarget, getDependencies, getProjectFilesystem, getSourcePathOutputs, getType, hasBuildSteps, hashCode, injectFields, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
inputBasedRuleKeyIsEnabled, isSupported
compareTo, getBuildDeps, getBuildSteps, getBuildTarget, getFullyQualifiedName, getProjectFilesystem, hasBuildSteps, outputFileCanBeCopied, shouldRespectInputSizeLimitForRemoteExecution, toString, updateBuildRuleResolver
getDependencies, getSourcePathOutputs
getType
public CxxThinLTOIndex(BuildTarget buildTarget, ProjectFilesystem projectFilesystem, SourcePathRuleFinder ruleFinder, Linker linker, Path output, com.google.common.collect.ImmutableList<Arg> args, Optional<RuleScheduleInfo> ruleScheduleInfo, boolean cacheable)
public java.util.stream.Stream<BuildRule> getAppleDebugSymbolDeps()
getAppleDebugSymbolDeps
in interface HasAppleDebugSymbolDeps
public SourcePath getSourcePathToOutput()
getSourcePathToOutput
in interface BuildRule
getSourcePathToOutput
in class ModernBuildRule<CxxThinLTOIndex.Impl>
public RuleScheduleInfo getRuleScheduleInfo()
getRuleScheduleInfo
in interface OverrideScheduleRule
public boolean isCacheable()
BuildRule
BuildRule
can be cached.
Uncached build rules are never written out to cache, never read from cache, and does not count in cache statistics. This rule is useful for artifacts which cannot be easily normalized.
Uncached rules are not always rebuilt, however, as long as the existing on-disk
representation is up to date. This means that these rules can take advantage of SupportsInputBasedRuleKey
to prevent rebuilding.
isCacheable
in interface BuildEngineAction
isCacheable
in interface BuildRule
isCacheable
in class AbstractBuildRule
public Linker getLinker()
public com.google.common.collect.ImmutableList<Arg> getArgs()