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, getTargetGraphOnlyDepsequals, getBuildTarget, getDependencies, getProjectFilesystem, getSourcePathOutputs, getType, hasBuildSteps, hashCode, injectFields, toString, updateBuildRuleResolverclone, finalize, getClass, notify, notifyAll, wait, wait, waitcompareTo, getFullyQualifiedName, outputFileCanBeCopied, shouldRespectInputSizeLimitForRemoteExecutionpublic 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()
BuildRuleBuildRule 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 BuildEngineActionisCacheable in interface BuildRuleisCacheable in class AbstractBuildRulepublic 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()