public class OcamlLink extends AbstractBuildRuleWithDeclaredAndExtraDeps
Constructor and Description |
---|
OcamlLink(BuildTarget buildTarget,
ProjectFilesystem projectFilesystem,
BuildRuleParams params,
com.google.common.collect.ImmutableList<SourcePath> inputs,
com.google.common.collect.ImmutableMap<String,String> cxxCompilerEnvironment,
com.google.common.collect.ImmutableList<String> cxxCompiler,
Tool ocamlCompiler,
com.google.common.collect.ImmutableList<Arg> flags,
Optional<String> stdlib,
Path outputRelativePath,
Path outputNativePluginPath,
com.google.common.collect.ImmutableList<Arg> depInput,
com.google.common.collect.ImmutableList<Arg> cDepInput,
boolean isLibrary,
boolean isBytecode,
boolean buildNativePlugin) |
Modifier and Type | Method and Description |
---|---|
com.google.common.collect.ImmutableList<Step> |
getBuildSteps(BuildContext context,
BuildableContext buildableContext) |
SourcePath |
getSourcePathToOutput() |
boolean |
isCacheable()
Whether this
BuildRule can be cached. |
deprecatedGetExtraDeps, getBuildDeps, getDeclaredDeps, getTargetGraphOnlyDeps
equals, getBuildTarget, getDependencies, getProjectFilesystem, getSourcePathOutputs, getType, hasBuildSteps, hashCode, injectFields, toString, updateBuildRuleResolver
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
compareTo, getFullyQualifiedName, outputFileCanBeCopied, shouldRespectInputSizeLimitForRemoteExecution
public OcamlLink(BuildTarget buildTarget, ProjectFilesystem projectFilesystem, BuildRuleParams params, com.google.common.collect.ImmutableList<SourcePath> inputs, com.google.common.collect.ImmutableMap<String,String> cxxCompilerEnvironment, com.google.common.collect.ImmutableList<String> cxxCompiler, Tool ocamlCompiler, com.google.common.collect.ImmutableList<Arg> flags, Optional<String> stdlib, Path outputRelativePath, Path outputNativePluginPath, com.google.common.collect.ImmutableList<Arg> depInput, com.google.common.collect.ImmutableList<Arg> cDepInput, boolean isLibrary, boolean isBytecode, boolean buildNativePlugin)
public com.google.common.collect.ImmutableList<Step> getBuildSteps(BuildContext context, BuildableContext buildableContext)
public SourcePath getSourcePathToOutput()
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