Contracts

Gradle plugins and scripts for publishing Java projects Maven Central

View the Project on GitHub jonloucks/gradle-kit

Gradle Kit Variables

Enable Logging

Responsibility

Enable logging to provide more visibility.

Names

KIT_LOG_ENABLED
kit.log.enabled

Valid Values

  • true
  • false

    Default Value

    false
    
Project Workflow

Responsibility

Declare CI/CD intent.

Names

KIT_PROJECT_WORKFLOW
kit.project.workflow 

Valid Values

A simple which can include dashes.

[!NOTE] KIT_OSSRH_AUTHOR defaults to this value which is used in publishing

Value Meaning
main-release GitHub release workflow
developer-release Build and publish locally
main-pull-request Github Pull Request Workflow

Default Value

unknown

Example

  • GitHub release workflow yaml fragment ```
    • name: Publish to GitHub Packages run: ./gradlew publish createPublisherBundle uploadPublisherBundle env: PROJECT_WORKFLOW: ‘main-release’ ```
Java Compiler Version

Responsibility

Select the Java compiler version.

Names

KIT_JAVA_COMPILER_VERSION
kit.java.compiler.version 

Valid Values

A single number

Default Value

17

Example

  • GitHub release workflow yaml fragment ```
    • name: Build with Gradle with Java compiler $ working-directory: main-project run: ./gradlew check jacocoTestReport jacocoTestCoverageVerification spotbugsMain env: PROJECT_WORKFLOW: ‘main-pull-request-matrix’ KIT_JAVA_COMPILER_VERSION: $

</details>

<details markdown="1"><summary>Java Source Version</summary>

#### Responsibility
Select the Java source version

#### Names

KIT_JAVA_SOURCE_VERSION kit.java.source.version


#### Valid Values
a single number 

#### Default Value

9


#### Example
* GitHub release workflow yaml fragment
- name: Build with Gradle with Java source $
  working-directory: main-project
  run: ./gradlew check jacocoTestReport jacocoTestCoverageVerification spotbugsMain
  env:
    PROJECT_WORKFLOW: 'main-pull-request-matrix'
    KIT_JAVA_SOURCE_VERSION: $ ```
Java Target Version

Responsibility

Select the Java target version

Names

KIT_JAVA_TARGET_VERSION
kit.java.target.version 

Valid Values

a single number

Default Value

The runtime value of variable KIT_JAVA_SOURCE_VERSION

Example

  • GitHub release workflow yaml fragment ```
    • name: Build with Gradle with Java target $ working-directory: main-project run: ./gradlew check jacocoTestReport jacocoTestCoverageVerification spotbugsMain env: PROJECT_WORKFLOW: ‘main-pull-request-matrix’ KIT_JAVA_TARGET_VERSION: $ ```
Java Test Source Version

Responsibility

Select the Java Test source version

Names

KIT_JAVA_TEST_SOURCE_VERSION
kit.java.test.source.version 

Valid Values

a single number

Default Value

9

Example

  • GitHub release workflow yaml fragment ```
    • name: Build with Gradle with Java test source $ working-directory: main-project run: ./gradlew check jacocoTestReport jacocoTestCoverageVerification spotbugsMain env: PROJECT_WORKFLOW: ‘main-pull-request-matrix’ KIT_JAVA_TEST_SOURCE_VERSION: $ ```
Java Test Target Version

Responsibility

Select the Java test target version

Names

KIT_JAVA_TEST_TARGET_VERSION
kit.java.test.target.version 

Valid Values

a single number

Default Value

The runtime value of variable KIT_JAVA_TEST_SOURCE_VERSION

Example

  • GitHub release workflow yaml fragment ```
    • name: Build with Gradle with Java test target $ working-directory: main-project run: ./gradlew check jacocoTestReport jacocoTestCoverageVerification spotbugsMain env: PROJECT_WORKFLOW: ‘main-pull-request-matrix’ KIT_JAVA_TEST_TARGET_VERSION: $ ```
OSSRH URL

Responsibility

Define the URL to publish an OSSRH bundle.

Names

KIT_OSSRH_URL
kit.ossrh.url 

Valid Values

a valid url to Maven Central Repository Upload API

Default Value

https://central.sonatype.com/api/v1/publisher/upload?publishingType=USER_MANAGED

Example

Do not put credentials in your URL, there are variables for that
OSSRH Author

Responsibility

Define the author to publish an OSSRH bundle.

Names

KIT_OSSRH_AUTHOR
kit.ossrh.author

Valid Values

A text value that is valid as part of a Maven Central Repository bundle name.

Default Value

The runtime value of variable KIT_PROJECT_WORKFLOW

Example

  - name: Publish to GitHub Packages
    working-directory: main-project
    run: ./gradlew publish createPublisherBundle uploadPublisherBundle
    env:
      PROJECT_WORKFLOW: 'main-release'
      USERNAME: $
      TOKEN: $
      KIT_JAVA_COMPILER_VERSION: $
      KIT_JAVA_SOURCE_VERSION: $
      KIT_OSSRH_GPG_SECRET_KEY: $
      KIT_OSSRH_GPG_SECRET_KEY_PASSWORD: $
      KIT_OSSRH_USERNAME: $
      KIT_OSSRH_PASSWORD: $
      KIT_OSSRH_AUTHOR: 'official-release'
OSSRH User Name

Responsibility

Define the username to publish an OSSRH bundle.

Names

KIT_OSSRH_USERNAME
OSSRH_USERNAME 
kit.ossrh.username

Valid Values

A non-empty value

Default Value

Example

  • GitHub release workflow yaml fragment ```
    • name: Publish to GitHub Packages working-directory: main-project run: ./gradlew publish createPublisherBundle uploadPublisherBundle env: PROJECT_WORKFLOW: ‘main-release’ USERNAME: $ TOKEN: $ KIT_JAVA_COMPILER_VERSION: $ KIT_JAVA_SOURCE_VERSION: $ KIT_OSSRH_GPG_SECRET_KEY: $ KIT_OSSRH_GPG_SECRET_KEY_PASSWORD: $ KIT_OSSRH_USERNAME: $ KIT_OSSRH_PASSWORD: $ ```
OSSRH User Password

Responsibility

Define the password to publish an OSSRH bundle.

Names

KIT_OSSRH_PASSWORD
OSSRH_PASSWORD 
kit.ossrh.password

Valid Values

A non-empty value

Default Value

Example

  • GitHub release workflow yaml fragment ```
    • name: Publish to GitHub Packages working-directory: main-project run: ./gradlew publish createPublisherBundle uploadPublisherBundle env: PROJECT_WORKFLOW: ‘main-release’ USERNAME: $ TOKEN: $ KIT_JAVA_COMPILER_VERSION: $ KIT_JAVA_SOURCE_VERSION: $ KIT_OSSRH_GPG_SECRET_KEY: $ KIT_OSSRH_GPG_SECRET_KEY_PASSWORD: $ KIT_OSSRH_USERNAME: $ KIT_OSSRH_PASSWORD: $ ```
Signing GPG Secret Key

Responsibility

Select the GPG secret key for signing.

Names

KIT_OSSRH_GPG_SECRET_KEY
OSSRH_GPG_SECRET_KEY
kit.ossrh.gpg.secret.key

Valid Values

A non-empty value

Default Value

Example

  • GitHub release workflow yaml fragment ```
    • name: Publish to GitHub Packages working-directory: main-project run: ./gradlew publish createPublisherBundle uploadPublisherBundle env: PROJECT_WORKFLOW: ‘main-release’ USERNAME: $ TOKEN: $ KIT_JAVA_COMPILER_VERSION: $ KIT_JAVA_SOURCE_VERSION: $ KIT_OSSRH_GPG_SECRET_KEY: $ KIT_OSSRH_GPG_SECRET_KEY_PASSWORD: $ KIT_OSSRH_USERNAME: $ KIT_OSSRH_PASSWORD: $ ```
Signing GPG Secret Key Password

Responsibility

Select the GPG secret key password for signing.

Names

KIT_OSSRH_GPG_SECRET_KEY_PASSWORD
OSSRH_GPG_SECRET_KEY_PASSWORD
kit.ossrh.gpg.secret.key.password

Valid Values

A non-empty value

Default Value

Example

  • GitHub release workflow yaml fragment ```
    • name: Publish to GitHub Packages working-directory: main-project run: ./gradlew publish createPublisherBundle uploadPublisherBundle env: PROJECT_WORKFLOW: ‘main-release’ USERNAME: $ TOKEN: $ KIT_JAVA_COMPILER_VERSION: $ KIT_JAVA_SOURCE_VERSION: $ KIT_OSSRH_GPG_SECRET_KEY: $ KIT_OSSRH_GPG_SECRET_KEY_PASSWORD: $ KIT_OSSRH_USERNAME: $ KIT_OSSRH_PASSWORD: $ ```