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
,ExtensionAware
,Task
,ObjectFilesToBinary
,org.gradle.util.Configurable<Task>
- Direct Known Subclasses:
LinkExecutable
,LinkMachOBundle
,LinkSharedLibrary
@Incubating 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_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()
RegularFileProperty
getBinaryFile()
The file where the linked binary will be located.File
getDestinationDir()
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.ListProperty<String>
getLinkerArgs()
Additional arguments passed to the linker.org.gradle.internal.operations.logging.BuildOperationLoggerFactory
getOperationLoggerFactory()
File
getOutputFile()
ConfigurableFileCollection
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.boolean
isDebuggable()
Create a debuggable binary?void
lib(Object libs)
Adds a set of library files to be linked.void
link()
void
setDebuggable(boolean debuggable)
Create a debuggable binary?void
setLibs(FileCollection libs)
void
setOutputFile(File outputFile)
void
setOutputFile(Provider<? extends RegularFile> outputFile)
Sets the output file generated by the linking process via aProvider
.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.-
Methods inherited from class org.gradle.api.DefaultTask
newInputDirectory, newInputFile, newOutputDirectory, newOutputFile
-
Methods inherited from class org.gradle.api.internal.AbstractTask
addValidator, appendParallelSafeAction, compareTo, configure, deleteAllActions, dependsOn, dependsOnTaskDidWork, doFirst, doFirst, doFirst, doLast, doLast, doLast, execute, finalizedBy, getActions, getAnt, getAsDynamicObject, getConvention, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExecuter, getExtensions, getFinalizedBy, getGroup, getIdentityPath, getImpliesSubProjects, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOnlyIf, getOutputs, getPath, getProject, getServices, getShouldRunAfter, getStandardOutputCapture, getState, getTaskActions, getTaskDependencies, getTemporaryDir, getTemporaryDirFactory, getValidators, hasProperty, injectIntoNewInstance, isEnabled, isHasCustomActions, leftShift, mustRunAfter, onlyIf, onlyIf, prependParallelSafeAction, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setExecuter, setFinalizedBy, setGroup, setImpliesSubProjects, setMustRunAfter, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, 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, deleteAllActions, dependsOn, dependsOnTaskDidWork, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getConvention, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getFinalizedBy, getGroup, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getPath, getProject, getShouldRunAfter, getTaskDependencies, getTemporaryDir, hasProperty, leftShift, mustRunAfter, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter
-
-
-
-
Method Detail
-
getToolChain
@Internal public NativeToolChain getToolChain()
The tool chain used for linking.
-
setToolChain
public void setToolChain(NativeToolChain toolChain)
-
getTargetPlatform
public NativePlatform getTargetPlatform()
The platform that the linked binary will run on.
-
setTargetPlatform
public void setTargetPlatform(NativePlatform targetPlatform)
-
getDestinationDir
@OutputDirectory public File getDestinationDir()
Include the destination directory as an output, to pick up auxiliary files produced alongside the main output file
-
getBinaryFile
@OutputFile public RegularFileProperty getBinaryFile()
The file where the linked binary will be located.- Since:
- 4.1
-
setOutputFile
public void setOutputFile(File outputFile)
-
setOutputFile
public void setOutputFile(Provider<? extends RegularFile> outputFile)
Sets the output file generated by the linking process via aProvider
.- Parameters:
outputFile
- the output file provider to use- Since:
- 4.1
- See Also:
setOutputFile(File)
-
getLinkerArgs
@Input public ListProperty<String> getLinkerArgs()
Additional arguments passed to the linker.- Since:
- 4.3
-
isDebuggable
@Input public boolean isDebuggable()
Create a debuggable binary?- Since:
- 4.3
-
setDebuggable
public void setDebuggable(boolean debuggable)
Create a debuggable binary?- Since:
- 4.3
-
getSource
@InputFiles public ConfigurableFileCollection getSource()
The source object files to be passed to the linker.
-
setSource
public void setSource(FileCollection source)
-
getLibs
@InputFiles public ConfigurableFileCollection getLibs()
The library files to be passed to the linker.
-
setLibs
public void setLibs(FileCollection libs)
-
source
public void source(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(Object libs)
Adds a set of library files to be linked. The provided libs object is evaluated as perProject.files(Object...)
.
-
getOperationLoggerFactory
@Inject public org.gradle.internal.operations.logging.BuildOperationLoggerFactory getOperationLoggerFactory()
-
link
public void link()
-
createLinkerSpec
protected abstract org.gradle.nativeplatform.internal.LinkerSpec createLinkerSpec()
-
-