# Class LinkSharedLibrary

java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
org.gradle.nativeplatform.tasks.AbstractLinkTask
org.gradle.nativeplatform.tasks.LinkSharedLibrary

All Implemented Interfaces:
  `Comparable<Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.TaskInternal, Named, ExtensionAware, Task, ObjectFilesToBinary, Configurable<Task>`

@DisableCachingByDefault(because="Not made cacheable, yet") public abstract class LinkSharedLibrary extends AbstractLinkTask
Links a binary shared library from object files and imported libraries.

Since:
  2.2

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from interface Named

  `Named.Namer`

- ## Field Summary

  ### Fields inherited from interface Task

  `TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LinkSharedLibrary()`
  Creates a new `LinkSharedLibrary`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected org.gradle.nativeplatform.internal.LinkerSpec`
  `createLinkerSpec()`
  Create linker spec.
  `abstract RegularFileProperty`
  `getImportLibrary()`
  Returns the import library produced by this task.
  `abstract Property<String>`
  `getInstallName()`
  Returns the install name to use by this task.

  ### Methods inherited from class AbstractLinkTask

  `getCompilerVersion, getDebuggable, getDeleter, getDestinationDirectory, getLibs, getLinkedFile, getLinkerArgs, getOperationLoggerFactory, getSource, getTargetPlatform, getToolChain, isDebuggable, lib, link, setLibs, setSource, source`

  ### Methods inherited from class 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, doNotTrackStateIf, getAsDynamicObject, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getLoggingManager, getOnlyIf, getReasonNotToTrackState, getReasonsNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, restoreOnlyIf, restoreTaskActions, service, setImpliesSubProjects`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface Comparable

  `compareTo`

  ### Methods inherited from interface ExtensionAware

  `getExtensions`

  ### Methods inherited from interface Task

  `configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, doNotTrackState, finalizedBy, getActions, getAnt, 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, service, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService`

- ## Constructor Details

  - ### LinkSharedLibrary

    public LinkSharedLibrary()
    Creates a new `LinkSharedLibrary`.
    Since:
      2.2

- ## Method Details

  - ### getImportLibrary

    @Optional @OutputFile public abstract RegularFileProperty getImportLibrary()
    Returns the import library produced by this task. Defaults to the directory containing the runtime file and is not defined when no import library will be produced.
    Since:
      4.4

  - ### getInstallName

    @Optional @Input public abstract Property<String> getInstallName()
    Returns the install name to use by this task. Defaults to no install name specified for the binary produced.
    Since:
      5.1

  - ### createLinkerSpec

    protected org.gradle.nativeplatform.internal.LinkerSpec createLinkerSpec()
    Description copied from class: `AbstractLinkTask`
    Create linker spec.
    Specified by:
      `createLinkerSpec` in class `AbstractLinkTask`