Java

The Java target is experimental.

Add java under targets to generate a Java SDK package.

{
  "targets": {
    "java": {
      "reverseDomain": "com.acme",
      "destinations": {
        "production": {
          "repo": "acme/acme-java"
        }
      },
      "publish": {
        "maven": {
          "authMethod": "oidc",
          "releaseEnvironment": "production",
          "sonatypePlatform": "portal",
          "homepage": "https://acme.com",
          "description": "Acme API Java SDK"
        }
      }
    }
  }
}

Target Options

Property Type Description
reverseDomain string Java base package, such as com.acme.
skip boolean Set to true to keep the config without generating this target.
destinations object GitHub destinations for generated output.
publish object Maven publishing configuration.
publish.maven boolean|object Maven registry publishing settings.

Destinations

Use destinations.production to push generated output to a GitHub repository.

Property Description
repo GitHub repository in owner/name form.
branch Default branch of the destination repository that releases are promoted to. Defaults to main. Generated output itself always goes to the fixed scalar-generated branch.

Publishing

Set publish.maven to true for default Maven publishing, false to disable it, or an object to configure the generated publishing workflow.

{
  "targets": {
    "java": {
      "publish": {
        "maven": {
          "authMethod": "access-token",
          "sonatypePlatform": "portal"
        }
      }
    }
  }
}
Property Description
authMethod Registry authentication mechanism, such as oidc or access-token.
releaseEnvironment Release environment name used by generated publishing workflows.
sonatypePlatform Maven Central or Sonatype platform, such as portal or ossrh.
homepage Package homepage metadata.
description Package description metadata.