public class HaskellCompileRule extends AbstractBuildRuleWithDeclaredAndExtraDeps
Modifier and Type | Method and Description |
---|---|
static HaskellCompileRule |
from(BuildTarget target,
ProjectFilesystem projectFilesystem,
BuildRuleParams baseParams,
SourcePathRuleFinder ruleFinder,
Tool compiler,
com.facebook.buck.features.haskell.HaskellCompilerFlags flags,
com.facebook.buck.features.haskell.HaskellPlatform platform,
Linker.LinkableDepType depType,
boolean hsProfile,
Optional<String> main,
Optional<com.facebook.buck.features.haskell.HaskellPackageInfo> packageInfo,
com.facebook.buck.features.haskell.HaskellSources sources,
Preprocessor preprocessor) |
com.google.common.collect.ImmutableList<Step> |
getBuildSteps(BuildContext buildContext,
BuildableContext buildableContext) |
protected com.google.common.collect.ImmutableList<String> |
getFlags() |
SourcePath |
getInterfaces() |
com.google.common.collect.ImmutableSortedSet<String> |
getModules() |
com.google.common.collect.ImmutableList<SourcePath> |
getObjects() |
SourcePath |
getObjectsDir() |
SourcePath |
getSourcePathToOutput() |
SourcePath |
getStubsDir() |
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 static HaskellCompileRule from(BuildTarget target, ProjectFilesystem projectFilesystem, BuildRuleParams baseParams, SourcePathRuleFinder ruleFinder, Tool compiler, com.facebook.buck.features.haskell.HaskellCompilerFlags flags, com.facebook.buck.features.haskell.HaskellPlatform platform, Linker.LinkableDepType depType, boolean hsProfile, Optional<String> main, Optional<com.facebook.buck.features.haskell.HaskellPackageInfo> packageInfo, com.facebook.buck.features.haskell.HaskellSources sources, Preprocessor preprocessor)
public com.google.common.collect.ImmutableList<Step> getBuildSteps(BuildContext buildContext, BuildableContext buildableContext)
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()
public com.google.common.collect.ImmutableList<SourcePath> getObjects()
public com.google.common.collect.ImmutableSortedSet<String> getModules()
public SourcePath getInterfaces()
public SourcePath getObjectsDir()
public SourcePath getStubsDir()
protected com.google.common.collect.ImmutableList<String> getFlags()