Skip to content
zml edited this page Oct 5, 2022 · 9 revisions

Welcome to the indra wiki! This wiki currently documents version 2.1.0. Information may not be accurate for any earlier or later version.

Indra is packaged as a set of modular plugins, each adding a bit of functionality. Currently, these plugins fall into two main groups: General build setup, and publishing setup.

Currently, Indra requires Gradle 7.5 or newer. We expect to continue taking advantage of new Gradle features as they are released, so new versions of Indra may raise the minimum Gradle version.

Most of the plugins are configured through the indra extension. Each plugin describes the properties it directly uses.

General

net.kyori.indra -- General common-sense build configuration, plus configuration for per-source set multi-release, optionally modular jars

net.kyori.indra.checkstyle -- Apply checkstyle based on Kyori file layout

net.kyori.indra.license-header -- (deprecated since 2.2.0) Apply the CadixDev Licenser plugin and configure it following Kyori conventions

net.kyori.indra.licenser.spotless -- (since 2.2.0) Apply the Spotless plugin's license header formatter with extra convenience options

net.kyori.indra.git -- Expose git information from the project to Gradle, with direct access to JGit available

net.kyori.indra.crossdoc (since v2.1.0) -- Automatically cross-link Javadoc from interdependent modules within a single build

Publishing

net.kyori.indra.publishing -- Set up a Maven publication with common parameters automatically filled out

net.kyori.indra.publishing.bintray -- Discontinued as of Indra 2.0.0

net.kyori.indra.publishing.sonatype -- Configure publishing Indra publications to Sonatype OSSRH, for deployment to Maven Central

net.kyori.indra.publishing.gradle-plugin (since v1.3.0) -- Configure publishing plugins, to the Gradle Plugin Portal or other locations