public class Archive extends ModernBuildRule<com.facebook.buck.cxx.Archive.Impl>
BuildRule
which builds an "ar" archive from input files represented as SourcePath
.Modifier and Type | Method and Description |
---|---|
static Archive |
from(BuildTarget target,
ProjectFilesystem projectFilesystem,
BuildRuleResolver resolver,
CxxPlatform platform,
String outputFileName,
com.google.common.collect.ImmutableList<SourcePath> inputs) |
static Archive |
from(BuildTarget target,
ProjectFilesystem projectFilesystem,
BuildRuleResolver resolver,
CxxPlatform platform,
String outputFileName,
com.google.common.collect.ImmutableList<SourcePath> inputs,
ArchiveContents contents,
boolean cacheable) |
SourcePath |
getSourcePathToOutput() |
boolean |
isCacheable()
Whether this
BuildRule can be cached. |
Arg |
toArg() |
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
isSupported
getBuildTarget, getFullyQualifiedName, getProjectFilesystem, hasBuildSteps, outputFileCanBeCopied, shouldRespectInputSizeLimitForRemoteExecution, toString
getDependencies, getSourcePathOutputs
getType
public static Archive from(BuildTarget target, ProjectFilesystem projectFilesystem, BuildRuleResolver resolver, CxxPlatform platform, String outputFileName, com.google.common.collect.ImmutableList<SourcePath> inputs, ArchiveContents contents, boolean cacheable)
Archive
created from the given parameters.public static Archive from(BuildTarget target, ProjectFilesystem projectFilesystem, BuildRuleResolver resolver, CxxPlatform platform, String outputFileName, com.google.common.collect.ImmutableList<SourcePath> inputs)
Archive
created from the given parameters.public Arg toArg()
Arg
to use when using this archive. When thin archives are used, this will
ensure that the inputs are also propagated as build time deps to whatever rule uses this
archive.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 SourcePath getSourcePathToOutput()
getSourcePathToOutput
in interface BuildRule
getSourcePathToOutput
in class ModernBuildRule<com.facebook.buck.cxx.Archive.Impl>