NativeBasePlugin

A common base plugin for the native plugins.

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

  • Configures the {@value LifecycleBasePlugin#ASSEMBLE_TASK_NAME} 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

Constructors

Link copied to clipboard
@Inject
constructor(targetMachineFactory: TargetMachineFactory)

Functions

Link copied to clipboard
open fun apply(project: Project)