Skip to content

kotlinc_plugin


A plugin for kotlinc.

To enable a kotlinc plugin, define a target with this target type, and set the artifact field to the address of a jvm_artifact target that provides the plugin. Set the plugin_id field to the ID of the plugin if that name cannot be inferred from the name of this target.

The standard kotlinc plugins are available via the following artifact coordinates and IDs:

  • All-open: org.jetbrains.kotlin:kotlin-allopen:VERSION (ID: all-open)
  • No-arg: org.jetbrains.kotlin:kotlin-noarg:VERSION (ID: no-arg)
  • SAM with receiver: org.jetbrains.kotlin:kotlin-sam-with-receiver:VERSION (ID: sam-with-receiver)
  • kapt (annotation processor): org.jetbrains.kotlin:org.jetbrains.kotlin:kotlin-annotation-processing-embeddable:VERSION (ID: kapt3)
  • Serialization: org.jetbrains.kotlin:kotlin-serialization:VERSION (ID: serialization)

Backend: pants.backend.experimental.kotlin


tags

type: Iterable[str] | None

default: None

Arbitrary strings to describe a target.

For example, you may tag some test targets with 'integration_test' so that you could run pants --tag='integration_test' test :: to only run on targets with that tag.

description

type: str | None

default: None

A human-readable description of the target.

Use pants list --documented :: to see all targets with descriptions.

artifact

type: str

required

The address of a jvm_artifact that defines a plugin for kotlinc.

plugin_id

type: str | None

default: None

The ID for kotlinc to use when setting options for the plugin.

If not set, the plugin ID defaults to the target name.

plugin_args

type: Iterable[str] | None

default: None

Optional list of argument to pass to the plugin.