Class OcamlLink

    • Constructor Detail

      • OcamlLink

        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)
    • Method Detail

      • getSourcePathToOutput

        public SourcePath getSourcePathToOutput()
      • isCacheable

        public boolean isCacheable()
        Description copied from interface: BuildRule
        Whether this 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.

        Specified by:
        isCacheable in interface BuildEngineAction
        Specified by:
        isCacheable in interface BuildRule
        Overrides:
        isCacheable in class AbstractBuildRule