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:
java.lang.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
Constructors Constructor Description AbstractLinkTask()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract org.gradle.nativeplatform.internal.LinkerSpec
createLinkerSpec()
protected CompilerVersion
getCompilerVersion()
The linker used, including the type and the version.Property<java.lang.Boolean>
getDebuggable()
Create a debuggable binary?protected org.gradle.internal.file.Deleter
getDeleter()
DirectoryProperty
getDestinationDirectory()
Include the destination directory as an output, to pick up auxiliary files produced alongside the main output fileConfigurableFileCollection
getLibs()
The library files to be passed to the linker.RegularFileProperty
getLinkedFile()
The file where the linked binary will be located.ListProperty<java.lang.String>
getLinkerArgs()
Additional arguments passed to the linker.protected org.gradle.internal.operations.logging.BuildOperationLoggerFactory
getOperationLoggerFactory()
ConfigurableFileCollection
getSource()
The source object files to be passed to the linker.Property<NativePlatform>
getTargetPlatform()
The platform being linked for.Property<NativeToolChain>
getToolChain()
The tool chain used for linking.boolean
isDebuggable()
Create a debuggable binary?void
lib(java.lang.Object libs)
Adds a set of library files to be linked.protected void
link()
void
setLibs(FileCollection libs)
void
setSource(FileCollection source)
void
source(java.lang.Object source)
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 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
-
-
-
-
Method Detail
-
getToolChain
@Internal public Property<NativeToolChain> getToolChain()
The tool chain used for linking.- Since:
- 4.7
-
getTargetPlatform
public Property<NativePlatform> getTargetPlatform()
The platform being linked for.- Since:
- 4.7
-
getDestinationDirectory
@OutputDirectory public DirectoryProperty getDestinationDirectory()
Include the destination directory as an output, to pick up auxiliary files produced alongside the main output file- Since:
- 4.7
-
getLinkedFile
@OutputFile public RegularFileProperty getLinkedFile()
The file where the linked binary will be located.- Since:
- 4.7
-
getLinkerArgs
@Input public ListProperty<java.lang.String> getLinkerArgs()
Additional arguments passed to the linker.- Since:
- 4.3
-
isDebuggable
@Internal public boolean isDebuggable()
Create a debuggable binary?- Since:
- 4.7
-
getDebuggable
@Input public Property<java.lang.Boolean> 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
public void setSource(FileCollection source)
-
getLibs
@PathSensitive(RELATIVE) @InputFiles public ConfigurableFileCollection getLibs()
The library files to be passed to the linker.
-
setLibs
public void setLibs(FileCollection libs)
-
source
public void source(java.lang.Object 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
public void lib(java.lang.Object libs)
Adds a set of library files to be linked. The provided libs object is evaluated as perProject.files(Object...)
.
-
getCompilerVersion
protected CompilerVersion 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()
-
-