Package org.gradle.language.nativeplatform

## Interface ComponentWithExecutable

- All Superinterfaces:
    `ComponentWithNativeRuntime`, `Named`, `SoftwareComponent`
  All Known Subinterfaces:
    `CppExecutable`, `CppTestExecutable`, `SwiftExecutable`, `SwiftXCTestExecutable`

      public interface ComponentWithExecutable
      extends ComponentWithNativeRuntime

  Represents a native component that produces an executable.
  Since:
    4.5

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.gradle.api.Named

      `Named.Namer`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Provider<RegularFile>` | `getExecutableFile()` | Returns the executable file to produce.
    `Provider<? extends Task>` | `getExecutableFileProducer()` | Returns the task that should be run to produce the executable file of this component.
    `FileCollection` | `getLinkLibraries()` | Returns the link libraries to use to link the executable.
    `Provider<? extends LinkExecutable>` | `getLinkTask()` | Returns the link task for the executable.

    - ### Methods inherited from interface org.gradle.language.nativeplatform.ComponentWithNativeRuntime

      `getBaseName, getTargetMachine, getToolChain, isDebuggable, isOptimized`

    - ### Methods inherited from interface org.gradle.api.Named

      `getName`

- - ### Method Detail

    - #### getLinkLibraries

          FileCollection getLinkLibraries()

      Returns the link libraries to use to link the executable. Includes the link libraries of the component's dependencies.

    - #### getExecutableFileProducer

          Provider<? extends Task> getExecutableFileProducer()

      Returns the task that should be run to produce the executable file of this component. This isn't necessarily the link task for the component.
      Since:
        5.1

    - #### getExecutableFile

          Provider<RegularFile> getExecutableFile()

      Returns the executable file to produce.

    - #### getLinkTask

          Provider<? extends LinkExecutable> getLinkTask()

      Returns the link task for the executable.