Class NativeBasePlugin

java.lang.Object
org.gradle.language.plugins.NativeBasePlugin
All Implemented Interfaces:
Plugin<Project>

@Incubating public abstract class NativeBasePlugin extends Object implements Plugin<Project>
A common base plugin for the native plugins.

Expects plugins to register the native components in the Project.getComponents() container, and defines a number of rules that act on these components to configure them.

  • Configures the "assemble" task to build the development binary of the main component, if present. Expects the main component to be of type ProductionComponent and ComponentWithBinaries.
  • Adds an "assemble" task for each binary of the main component.
  • Adds tasks to compile and link an executable. Currently requires component implements internal API ConfigurableComponentWithExecutable.
  • Adds tasks to compile and link a shared library. Currently requires component implements internal API ConfigurableComponentWithSharedLibrary.
  • Adds tasks to compile and create a static library. Currently requires component implements internal API ConfigurableComponentWithStaticLibrary.
  • Adds outgoing configuration and artifacts for link file. Currently requires component implements internal API ConfigurableComponentWithLinkUsage.
  • Adds outgoing configuration and artifacts for runtime file. Currently requires component implements internal API ConfigurableComponentWithRuntimeUsage.
  • Maven publications. Currently requires component implements internal API PublicationAwareComponent.
  • Adds TargetMachineFactory for configuring TargetMachine.
Since:
4.5
  • Constructor Details

  • Method Details

    • 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