# Interface ComponentWithLinkFile

All Superinterfaces:
  `ComponentWithNativeRuntime, Named, SoftwareComponent`

All Known Subinterfaces:
  `ComponentWithSharedLibrary, ComponentWithStaticLibrary, CppSharedLibrary, CppStaticLibrary, SwiftSharedLibrary, SwiftStaticLibrary`

public interface ComponentWithLinkFile extends ComponentWithNativeRuntime
Represents a native component that produces a file to be used at link time.

Since:
  4.5

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Provider<RegularFile>`
  `getLinkFile()`
  Returns the link file of this component.
  `Provider<? extends Task>`
  `getLinkFileProducer()`
  Returns the task that should be run to produce the link file of this component.

  ### Methods inherited from interface ComponentWithNativeRuntime

  `getBaseName, getTargetMachine, getToolChain, isDebuggable, isOptimized`

  ### Methods inherited from interface Named

  `getName`

- ## Method Details

  - ### getLinkFileProducer

    Provider<? extends Task> getLinkFileProducer()
    Returns the task that should be run to produce the link file of this component. This isn't necessarily the link task for the component.
    Since:
      5.1

  - ### getLinkFile

    Provider<RegularFile> getLinkFile()
    Returns the link file of this component.