AbstractLinkTask (Gradle API 2.14.1)

Package: org.gradle.nativeplatform.tasks

## [Java] Class AbstractLinkTask

- org.gradle.nativeplatform.tasks.AbstractLinkTask

- All Implemented Interfaces and Traits:
    ObjectFilesToBinary, groovy.lang.GroovyObject

      @Incubating
      public abstract class AbstractLinkTask
      extends DefaultTask

  Base task for linking a native binary from object files and libraries.

- - Inherited fields
    Fields inherited from class | Fields
    --- | ---
    `class org.gradle.api.internal.AbstractTask` | `TASK_NAME, TASK_DESCRIPTION, TASK_GROUP, TASK_TYPE, TASK_DEPENDS_ON, TASK_OVERWRITE, TASK_ACTION`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `AbstractLinkTask ()`

  - ### Methods Summary

    Methods
    Type | Name and description
    --- | ---
    `protected org.gradle.nativeplatform.internal.LinkerSpec` | `createLinkerSpec()`
    `File` | `getDestinationDir()` Include the destination directory as an output, to pick up auxiliary files produced alongside the main output file
    `FileCollection` | `getLibs()` The library files to be passed to the linker.
    `List<String>` | `getLinkerArgs()` Additional arguments passed to the linker.
    `groovy.lang.MetaClass` | `getMetaClass()`
    `org.gradle.internal.operations.logging.BuildOperationLoggerFactory` | `getOperationLoggerFactory()`
    `File` | `getOutputFile()` The file where the linked binary will be located.
    `Object` | `getProperty(String property)`
    `FileCollection` | `getSource()` The source object files to be passed to the linker.
    `NativePlatform` | `getTargetPlatform()` The platform that the linked binary will run on.
    `NativeToolChain` | `getToolChain()` The tool chain used for linking.
    `Object` | `invokeMethod(String name, Object args)`
    `void` | `lib(Object libs)` Adds a set of library files to be linked.
    `void` | `link()`
    `void` | `setLibs(FileCollection libs)`
    `void` | `setLinkerArgs(List<String> linkerArgs)`
    `void` | `setMetaClass(groovy.lang.MetaClass metaClass)`
    `void` | `setOutputFile(File outputFile)`
    `void` | `setSource(FileCollection source)`
    `void` | `setTargetPlatform(NativePlatform targetPlatform)`
    `void` | `setToolChain(NativeToolChain toolChain)`
    `void` | `source(Object source)` Adds a set of object files to be linked.

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class org.gradle.api.internal.AbstractTask` | `org.gradle.api.internal.AbstractTask#setProperty(java.lang.String, java.lang.Object), org.gradle.api.internal.AbstractTask#toString(), org.gradle.api.internal.AbstractTask#compareTo(org.gradle.api.Task), org.gradle.api.internal.AbstractTask#compareTo(java.lang.Object), org.gradle.api.internal.AbstractTask#getName(), org.gradle.api.internal.AbstractTask#getActions(), org.gradle.api.internal.AbstractTask#setName(java.lang.String), org.gradle.api.internal.AbstractTask#getState(), org.gradle.api.internal.AbstractTask#getState(), org.gradle.api.internal.AbstractTask#getPath(), org.gradle.api.internal.AbstractTask#getExtensions(), org.gradle.api.internal.AbstractTask#getLogger(), org.gradle.api.internal.AbstractTask#execute(), org.gradle.api.internal.AbstractTask#configure(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#configure(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#getDescription(), org.gradle.api.internal.AbstractTask#leftShift(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#property(java.lang.String), org.gradle.api.internal.AbstractTask#isEnabled(), org.gradle.api.internal.AbstractTask#setEnabled(boolean), org.gradle.api.internal.AbstractTask#getOutputs(), org.gradle.api.internal.AbstractTask#getOutputs(), org.gradle.api.internal.AbstractTask#onlyIf(org.gradle.api.specs.Spec), org.gradle.api.internal.AbstractTask#onlyIf(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#setOnlyIf(org.gradle.api.specs.Spec), org.gradle.api.internal.AbstractTask#setOnlyIf(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#setDidWork(boolean), org.gradle.api.internal.AbstractTask#getDidWork(), org.gradle.api.internal.AbstractTask#doFirst(org.gradle.api.Action), org.gradle.api.internal.AbstractTask#doFirst(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#doLast(org.gradle.api.Action), org.gradle.api.internal.AbstractTask#doLast(groovy.lang.Closure), org.gradle.api.internal.AbstractTask#deleteAllActions(), org.gradle.api.internal.AbstractTask#getEnabled(), org.gradle.api.internal.AbstractTask#getAnt(), org.gradle.api.internal.AbstractTask#getLogging(), org.gradle.api.internal.AbstractTask#getLogging(), org.gradle.api.internal.AbstractTask#hasProperty(java.lang.String), org.gradle.api.internal.AbstractTask#getConvention(), org.gradle.api.internal.AbstractTask#setDescription(java.lang.String), org.gradle.api.internal.AbstractTask#getGroup(), org.gradle.api.internal.AbstractTask#setGroup(java.lang.String), org.gradle.api.internal.AbstractTask#getTaskDependencies(), org.gradle.api.internal.AbstractTask#getTaskDependencies(), org.gradle.api.internal.AbstractTask#setDependsOn(java.lang.Iterable), org.gradle.api.internal.AbstractTask#dependsOn([Ljava.lang.Object;), org.gradle.api.internal.AbstractTask#getProject(), org.gradle.api.internal.AbstractTask#setActions(java.util.List), org.gradle.api.internal.AbstractTask#getDependsOn(), org.gradle.api.internal.AbstractTask#dependsOnTaskDidWork(), org.gradle.api.internal.AbstractTask#getInputs(), org.gradle.api.internal.AbstractTask#getTemporaryDir(), org.gradle.api.internal.AbstractTask#mustRunAfter([Ljava.lang.Object;), org.gradle.api.internal.AbstractTask#setMustRunAfter(java.lang.Iterable), org.gradle.api.internal.AbstractTask#getMustRunAfter(), org.gradle.api.internal.AbstractTask#finalizedBy([Ljava.lang.Object;), org.gradle.api.internal.AbstractTask#setFinalizedBy(java.lang.Iterable), org.gradle.api.internal.AbstractTask#getFinalizedBy(), org.gradle.api.internal.AbstractTask#shouldRunAfter([Ljava.lang.Object;), org.gradle.api.internal.AbstractTask#setShouldRunAfter(java.lang.Iterable), org.gradle.api.internal.AbstractTask#getShouldRunAfter(), org.gradle.api.internal.AbstractTask#getStandardOutputCapture(), org.gradle.api.internal.AbstractTask#getAsDynamicObject(), org.gradle.api.internal.AbstractTask#setProject(org.gradle.api.Project), org.gradle.api.internal.AbstractTask#injectIntoNewInstance(org.gradle.api.internal.project.ProjectInternal, java.lang.String, java.lang.Class, java.util.concurrent.Callable), org.gradle.api.internal.AbstractTask#prependParallelSafeAction(org.gradle.api.Action), org.gradle.api.internal.AbstractTask#getOnlyIf(), org.gradle.api.internal.AbstractTask#getImpliesSubProjects(), org.gradle.api.internal.AbstractTask#setImpliesSubProjects(boolean), org.gradle.api.internal.AbstractTask#getExecuter(), org.gradle.api.internal.AbstractTask#setExecuter(org.gradle.api.internal.tasks.TaskExecuter), org.gradle.api.internal.AbstractTask#getTemporaryDirFactory(), org.gradle.api.internal.AbstractTask#addValidator(org.gradle.api.internal.tasks.execution.TaskValidator), org.gradle.api.internal.AbstractTask#getValidators(), org.gradle.api.internal.AbstractTask#appendParallelSafeAction(org.gradle.api.Action), org.gradle.api.internal.AbstractTask#isHasCustomActions(), org.gradle.api.internal.AbstractTask#getTaskActions(), org.gradle.api.internal.AbstractTask#wait(long, int), org.gradle.api.internal.AbstractTask#wait(long), org.gradle.api.internal.AbstractTask#wait(), org.gradle.api.internal.AbstractTask#equals(java.lang.Object), org.gradle.api.internal.AbstractTask#hashCode(), org.gradle.api.internal.AbstractTask#getClass(), org.gradle.api.internal.AbstractTask#notify(), org.gradle.api.internal.AbstractTask#notifyAll()`

- - ### Constructor Detail

    - #### @javax.inject.Inject public AbstractLinkTask()

  - ### Method Detail

    - #### protected org.gradle.nativeplatform.internal.LinkerSpec createLinkerSpec()

    - #### @OutputDirectory public File getDestinationDir()

      Include the destination directory as an output, to pick up auxiliary files produced alongside the main output file

    - #### @InputFiles public FileCollection getLibs()

      The library files to be passed to the linker.

    - #### @Input public List<String> getLinkerArgs()

      Additional arguments passed to the linker.

    - #### public groovy.lang.MetaClass getMetaClass()

    - #### @javax.inject.Inject public org.gradle.internal.operations.logging.BuildOperationLoggerFactory getOperationLoggerFactory()

    - #### @OutputFile public File getOutputFile()

      The file where the linked binary will be located.

    - #### public Object getProperty(String property)

    - #### @InputFiles public FileCollection getSource()

      The source object files to be passed to the linker.

    - #### public NativePlatform getTargetPlatform()

      The platform that the linked binary will run on.

    - #### public NativeToolChain getToolChain()

      The tool chain used for linking.

    - #### public Object invokeMethod(String name, Object args)

    - #### public void lib(Object libs)

      Adds a set of library files to be linked. The provided libs object is evaluated as per Project.files.

    - #### @TaskAction public void link()

    - #### public void setLibs(FileCollection libs)

    - #### public void setLinkerArgs(List<String> linkerArgs)

    - #### public void setMetaClass(groovy.lang.MetaClass metaClass)

    - #### public void setOutputFile(File outputFile)

    - #### public void setSource(FileCollection source)

    - #### public void setTargetPlatform(NativePlatform targetPlatform)

    - #### public void setToolChain(NativeToolChain toolChain)

    - #### public void source(Object source)

      Adds a set of object files to be linked. The provided source object is evaluated as per Project.files.