Package org.gradle.language.swift.plugins

## Class SwiftLibraryPlugin

- java.lang.Object
- - org.gradle.language.swift.plugins.SwiftLibraryPlugin

- All Implemented Interfaces:
    `Plugin<Project>`

      public class SwiftLibraryPlugin
      extends java.lang.Object
      implements Plugin<Project>

  A plugin that produces a shared library from Swift source.

  Adds compile, link and install tasks to build the shared library. Defaults to looking for source files in `src/main/swift`.

  Adds a `SwiftComponent` extension to the project to allow configuration of the library.

  Since:
    4.2

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SwiftLibraryPlugin​(org.gradle.language.internal.NativeComponentFactory componentFactory, org.gradle.language.nativeplatform.internal.toolchains.ToolChainSelector toolChainSelector, org.gradle.api.internal.attributes.ImmutableAttributesFactory attributesFactory, TargetMachineFactory targetMachineFactory)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `apply​(Project project)` | Apply this plugin to the given target object.

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### SwiftLibraryPlugin

          @Inject
          public SwiftLibraryPlugin​(org.gradle.language.internal.NativeComponentFactory componentFactory,
                                    org.gradle.language.nativeplatform.internal.toolchains.ToolChainSelector toolChainSelector,
                                    org.gradle.api.internal.attributes.ImmutableAttributesFactory attributesFactory,
                                    TargetMachineFactory targetMachineFactory)

  - ### Method Detail

    - #### apply

          public void apply​(Project project)

      Description copied from interface: `Plugin`
      Apply this plugin to the given target object.
      Specified by:
        `apply` in interface `Plugin<Project>`
      Parameters:
        `project` - The target object