Skip to main content
Version: 2.16.x (deprecated)

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)
  • Seralization: org.jetbrains.kotlin:kotlin-serialization:VERSION (ID: serialization)

Backend: pants.backend.experimental.kotlin


tags

field.type_hint
required

Arbitrary strings to describe a target.

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

description

field.type_hint
required

A human-readable description of the target.

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

artifact

field.type_hint
required

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

plugin_id

field.type_hint
required

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

field.type_hint
required

Optional list of argument to pass to the plugin.