Package org.gradle.nativeplatform.tasks
Class AbstractLinkTask
java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
org.gradle.nativeplatform.tasks.AbstractLinkTask
- All Implemented Interfaces:
Comparable<Task>
,org.gradle.api.internal.DynamicObjectAware
,org.gradle.api.internal.TaskInternal
,Named
,ExtensionAware
,Task
,ObjectFilesToBinary
,Configurable<Task>
- Direct Known Subclasses:
LinkExecutable
,LinkMachOBundle
,LinkSharedLibrary
@DisableCachingByDefault(because="Abstract super-class, not to be instantiated directly")
public abstract class AbstractLinkTask
extends DefaultTask
implements ObjectFilesToBinary
Base task for linking a native binary from object files and libraries.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.gradle.api.Task
Task.Namer
-
Field Summary
Fields inherited from interface org.gradle.api.Task
TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract org.gradle.nativeplatform.internal.LinkerSpec
protected CompilerVersion
The linker used, including the type and the version.Create a debuggable binary?protected org.gradle.internal.file.Deleter
Include the destination directory as an output, to pick up auxiliary files produced alongside the main output filegetLibs()
The library files to be passed to the linker.The file where the linked binary will be located.Additional arguments passed to the linker.protected org.gradle.internal.operations.logging.BuildOperationLoggerFactory
The source object files to be passed to the linker.The platform being linked for.The tool chain used for linking.boolean
Create a debuggable binary?void
Adds a set of library files to be linked.protected void
link()
void
setLibs
(FileCollection libs) void
setSource
(FileCollection source) void
Adds a set of object files to be linked.Methods inherited from class org.gradle.api.DefaultTask
compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService
Methods inherited from class org.gradle.api.internal.AbstractTask
acceptServiceReferences, appendParallelSafeAction, doNotTrackState, getAsDynamicObject, getConvention, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, setImpliesSubProjects
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Comparable
compareTo
Methods inherited from interface org.gradle.api.plugins.ExtensionAware
getExtensions
Methods inherited from interface org.gradle.api.Task
configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, doNotTrackState, finalizedBy, getActions, getAnt, getConvention, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getFinalizedBy, getGroup, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getPath, getProject, getShouldRunAfter, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, notCompatibleWithConfigurationCache, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService
-
Constructor Details
-
AbstractLinkTask
public AbstractLinkTask()
-
-
Method Details
-
getToolChain
The tool chain used for linking.- Since:
- 4.7
-
getTargetPlatform
The platform being linked for.- Since:
- 4.7
-
getDestinationDirectory
Include the destination directory as an output, to pick up auxiliary files produced alongside the main output file- Since:
- 4.7
-
getLinkedFile
The file where the linked binary will be located.- Since:
- 4.7
-
getLinkerArgs
Additional arguments passed to the linker.- Since:
- 4.3
-
isDebuggable
Create a debuggable binary?- Since:
- 4.7
-
getDebuggable
Create a debuggable binary?- Since:
- 4.7
-
getSource
@InputFiles @SkipWhenEmpty @IgnoreEmptyDirectories @PathSensitive(RELATIVE) public ConfigurableFileCollection getSource()The source object files to be passed to the linker. -
setSource
-
getLibs
The library files to be passed to the linker. -
setLibs
-
source
Adds a set of object files to be linked. The provided source object is evaluated as perProject.files(Object...)
.- Specified by:
source
in interfaceObjectFilesToBinary
-
lib
Adds a set of library files to be linked. The provided libs object is evaluated as perProject.files(Object...)
. -
getCompilerVersion
The linker used, including the type and the version.- Since:
- 4.7
-
getOperationLoggerFactory
@Inject protected org.gradle.internal.operations.logging.BuildOperationLoggerFactory getOperationLoggerFactory() -
getDeleter
@Inject protected org.gradle.internal.file.Deleter getDeleter() -
link
protected void link() -
createLinkerSpec
protected abstract org.gradle.nativeplatform.internal.LinkerSpec createLinkerSpec()
-