- All Implemented Interfaces:
public class CxxStrip extends AbstractBuildRule implements SupportsInputBasedRuleKeyControls how strip tool is invoked. To have better understanding please refer to `man strip`. If you don't want stripping, you should depend on CxxLink directly.
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description
getBuildSteps(BuildContext context, BuildableContext buildableContext)
BuildRulecan be cached.
removeStripStyleFlavorInTarget(BuildTarget buildTarget, Optional<StripStyle> flavoredStripStyle)
restoreStripStyleFlavorInTarget(BuildTarget buildTarget, Optional<StripStyle> flavoredStripStyle)
updateBuildRuleResolver(BuildRuleResolver ruleResolver)Updates the BuildRuleResolver and associated objects for this build rule.
Methods inherited from class com.facebook.buck.core.rules.impl.AbstractBuildRule
equals, getBuildTarget, getDependencies, getProjectFilesystem, getSourcePathOutputs, getType, hasBuildSteps, hashCode, injectFields, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.facebook.buck.core.build.action.BuildEngineAction
Methods inherited from interface com.facebook.buck.core.rules.BuildRule
compareTo, getBuildTarget, getFullyQualifiedName, getProjectFilesystem, hasBuildSteps, outputFileCanBeCopied, shouldRespectInputSizeLimitForRemoteExecution, toString
public static final Flavor RULE_FLAVORUsed to identify this rule in the graph. This should be appended ONLY to build target that is passed to the CxxStrip constructor when you create instance of this class. Appending it in other places is does nothing except adds a unnecessary flavor that will skew output paths of other build rules.
public static BuildTarget removeStripStyleFlavorInTarget(BuildTarget buildTarget, Optional<StripStyle> flavoredStripStyle)
public static BuildTarget restoreStripStyleFlavorInTarget(BuildTarget buildTarget, Optional<StripStyle> flavoredStripStyle)
- Specified by:
- the set of rules that must be built before this rule. Normally, this matches the value
depsargument for this build rule in the build file in which it was defined.
However, there are special cases where other arguments pull in implicit dependencies (e.g., the
android_binary). In these cases, the implicit dependencies are also included in the set returned by this method. The value of the original
depsargument, as defined in the build file, must be accessed via a custom getter provided by the build rule.
public com.google.common.collect.ImmutableList<Step> getBuildSteps(BuildContext context, BuildableContext buildableContext)
public StripStyle getStripStyle()
public boolean isCacheable()Description copied from interface:
BuildRulecan 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
SupportsInputBasedRuleKeyto prevent rebuilding.
public SourcePath getSourcePathToOutput()
public void updateBuildRuleResolver(BuildRuleResolver ruleResolver)Description copied from interface:
BuildRuleUpdates the BuildRuleResolver and associated objects for this build rule.
Build rules sometimes hold field references to build rule resolvers. If this build rule is to be cached, it must update its BuildRuleResolver when a new action graph is constructed to avoid leaking the entire action graph it was originally associated with.