Class RpcLogLinker


@LinkerOrder(POST) @Shardable public class RpcLogLinker extends AbstractLinker
This linker emits RpcLogArtifacts as output files.
  • Constructor Details

    • RpcLogLinker

      public RpcLogLinker()
  • Method Details

    • getDescription

      public String getDescription()
      Description copied from class: Linker
      Returns a human-readable String describing the Linker.
      Specified by:
      getDescription in class Linker
    • link

      public ArtifactSet link(TreeLogger logger, LinkerContext context, ArtifactSet artifacts, boolean onePermutation) throws UnableToCompleteException
      Description copied from class: Linker

      This method is invoked for linkers annotated with Shardable. It is called at two points during compilation: after the compile of each permutation, and after all compilation has finished. The onePermutation is true for a per-permutation call and false for a global final-link call.

      For one-permutation calls, this method is passed all artifacts generated for just the one permutation. For the global call at the end of compilation, this method sees artifacts for the whole compilation, but with two modifications intended to support builds on computer clusters:

      1. All EmittedArtifacts have been converted to BinaryEmittedArtifacts
      2. All artifacts not marked as Transferable have been discarded.
      Overrides:
      link in class Linker
      Parameters:
      logger - the TreeLogger to record to
      context - provides access to the Linker's environment
      artifacts - an unmodifiable view of the artifacts to link
      onePermutation - true for a one-permutation call
      Returns:
      the artifacts that should be propagated through the linker chain
      Throws:
      UnableToCompleteException - if compilation violates assumptions made by the Linker or for errors encountered by the Linker