Skip to content

Latest commit

History

History
313 lines (259 loc) 路 9.26 KB

File metadata and controls

313 lines (259 loc) 路 9.26 KB

Sdkman

Publishes a distribution to Sdkman. Please follow the instructions at https://sdkman.io/vendors to register your project as a candidate and obtain publishing credentials.

The following artifact extensions are supported by this packager:

  • .zip

Distribution Support

Distribution Supported

concepts:distributions/binary.adoc

{icon_req_n}

concepts:distributions/flat-binary.adoc

{icon_req_n}

concepts:distributions/java-binary.adoc

{icon_req_y}

concepts:distributions/jlink.adoc

{icon_req_y}

concepts:distributions/native-image.adoc

{icon_req_y}

concepts:distributions/native-package.adoc

{icon_req_n}

concepts:distributions/single-jar.adoc

{icon_req_n}

Note
Configuring this packager automatically enables the reference:announce/sdkman.adoc announcer.
Warning
Publication of snapshots is not allowed.
YAML
partial$packagers/yaml/common-head.adoc

    # Defines the connection timeout in seconds.
    # Defaults to `20`.
    # [dot circle]
    connectTimeout: 20

    # Defines the read timeout in seconds.
    # Defaults to `60`.
    # [dot circle]
    readTimeout: 60

    # The name of the candidate registered in the Sdkman database.
    # If unspecified, will use `${distribution.name}`.
    # [dot circle]
    candidate: app

    # Sdkman command to use.
    # Supported values are [`MAJOR`, `MINOR`]
    # Defaults to `MAJOR`.
    # [dot circle]
    command: MAJOR

    # The release notes URL to use.
    # Defaults to `${release.${git}.releaseNotesUrl}`.
    # [dot circle] [file alt]
    releaseNotesUrl: https://host.com/{{projectName}}/{{tagName}}

    # The consumer key for publishing to Sdkman.
    # If left unspecified, the `JRELEASER_SDKMAN_CONSUMER_KEY`
    # environment variable must be defined.
    # [exclamation triangle] [eye slash]
    consumerKey: __DO_NOT_SET_HERE__

    # The consumer token for publishing to Sdkman.
    # If left unspecified, the `JRELEASER_SDKMAN_CONSUMER_TOKEN`
    # environment variable must be defined.
    # [exclamation triangle] [eye slash]
    consumerToken: __DO_NOT_SET_HERE__
TOML
partial$packagers/toml/common-head.adoc

  # Defines the connection timeout in seconds.
  # Defaults to `20`.
  # [dot circle]
  connectTimeout = 20

  # Defines the read timeout in seconds.
  # Defaults to `60`.
  # [dot circle]
  readTimeout = 60

  # The name of the candidate registered in thew Sdkman database.
  # If unspecified, will use ${project.name}.
  # [dot circle]
  candidate = "app"

  # The release notes URL to use.
  # Defaults to `${release.${git}.releaseNotesUrl}`.
  # [dot circle] [file alt]
  releaseNotesUrl = "https://host.com/{{projectName}}/{{tagName}}"

  # Sdkman command to use.
  # Supported values are [`MAJOR`, `MINOR`]
  # Defaults to `MAJOR`.
  # [dot circle]
  command = "MAJOR"

  # The consumer key for publishing to Sdkman.
  # If left unspecified, the `JRELEASER_SDKMAN_CONSUMER_KEY`
  # environment variable must be defined.
  # [exclamation triangle] [eye slash]
  consumerKey = "__DO_NOT_SET_HERE__"

  # The consumer token for publishing to Sdkman.
  # If left unspecified, the `JRELEASER_SDKMAN_CONSUMER_TOKEN`
  # environment variable must be defined.
  # [exclamation triangle] [eye slash]
  consumerToken = "__DO_NOT_SET_HERE__"
JSON
partial$packagers/json/common-head.adoc

      // Defines the connection timeout in seconds.
      // Defaults to `20`.
      // [dot circle]
      "connectTimeout": 20,

      // Defines the read timeout in seconds.
      // Defaults to `60`.
      // [dot circle]
      "readTimeout": 60,

      // The name of the candidate registered in thew Sdkman database.
      // If unspecified, will use ${project.name}.
      // [dot circle]
      "candidate": "app",

      // The release notes URL to use.
      // Defaults to `${release.${git}.releaseNotesUrl}`.
      // [dot circle] [file alt]
      "releaseNotesUrl": "https://host.com/{{projectName}}/{{tagName}}",

      // Sdkman command to use.
      // Supported values are [`MAJOR`, `MINOR`]
      // Defaults to `MAJOR`.
      // [dot circle]
      "command": "MAJOR",

      // The consumer key for publishing to Sdkman.
      // If left unspecified, the `JRELEASER_SDKMAN_CONSUMER_KEY`
      // environment variable must be defined.
      // [exclamation triangle] [eye slash]
      "consumerKey": "__DO_NOT_SET_HERE__",

      // The consumer token for publishing to Sdkman.
      // If left unspecified, the `JRELEASER_SDKMAN_CONSUMER_TOKEN`
      // environment variable must be defined.
      // [exclamation triangle] [eye slash]
      "consumerToken": "__DO_NOT_SET_HERE__"
partial$packagers/json/common-footer.adoc
Maven
partial$packagers/maven/common-head.adoc

      <!--
        Defines the connection timeout in seconds.
        Defaults to `20`.
        [dot circle]
      -->
      <connectTimeout>20</connectTimeout>

      <!--
        Defines the read timeout in seconds.
        Defaults to `60`.
        [dot circle]
      -->
      <readTimeout>60</readTimeout>

      <!--
        The name of the candidate registered in thew Sdkman database.
        If unspecified, will use ${project.name}.
        [dot circle]
      -->
      <candidate>app</candidate>

      <!--
        The release notes URL to use.
        Defaults to `${release.${git}.releaseNotesUrl}`.
        [dot circle] [file alt]
      -->
      <releaseNotesUrl>https://host.com/{{projectName}}/{{tagName}}</releaseNotesUrl>

      <!--
        Sdkman command to use.
        Supported values are [`MAJOR`, `MINOR`]
        Defaults to `MAJOR`.
        [dot circle]
      -->
      <command>MAJOR</command>

      <!--
        The consumer key for publishing to Sdkman.
        If left unspecified, the `JRELEASER_SDKMAN_CONSUMER_KEY`
        environment variable must be defined.
        [exclamation triangle] [eye slash]
      -->
      <consumerKey>__DO_NOT_SET_HERE__</consumerKey>

      <!--
        The consumer token for publishing to Sdkman.
        If left unspecified, the `JRELEASER_SDKMAN_CONSUMER_TOKEN`
        environment variable must be defined.
        [exclamation triangle] [eye slash]
      -->
      <consumerToken>__DO_NOT_SET_HERE__</consumerToken>
partial$packagers/maven/common-footer.adoc
Gradle
partial$packagers/gradle/common-head.adoc

      // Defines the connection timeout in seconds.
      // Defaults to `20`.
      // [dot circle]
      connectTimeout = 20

      // Defines the read timeout in seconds.
      // Defaults to `60`.
      // [dot circle]
      readTimeout = 60

      // The name of the candidate registered in thew Sdkman database.
      // If unspecified, will use ${project.name}.
      // [dot circle]
      candidate = 'app'

      // The release notes URL to use.
      // Defaults to `${release.${git}.releaseNotesUrl}`.
      // [dot circle] [file alt]
      releaseNotesUrl = 'https://host.com/{{projectName}}/{{tagName}}'

      // Sdkman command to use.
      // Supported values are [`MAJOR`, `MINOR`]
      // Defaults to `MAJOR`.
      // [dot circle]
      command = 'MAJOR'

      // The consumer key for publishing to Sdkman.
      // If left unspecified, the `JRELEASER_SDKMAN_CONSUMER_KEY`
      // environment variable must be defined.
      // [exclamation triangle] [eye slash]
      consumerKey = '__DO_NOT_SET_HERE__'

      // The consumer token for publishing to Sdkman.
      // If left unspecified, the `JRELEASER_SDKMAN_CONSUMER_TOKEN`
      // environment variable must be defined.
      // [exclamation triangle] [eye slash]
      consumerToken = '__DO_NOT_SET_HERE__'
partial$packagers/gradle/common-footer.adoc
Important
Candidate names must be unique!

Skip Artifacts

You may mark artifacts to be skipped for this packager by adding an extra property name skipSdkman set to true.

Requirements

This packager has the following requirements:

  • Only zip artifacts are supported.

  • The default platform is set to UNIVERSAL if the artifact did not define a value for its platform field.

  • If there鈥檚 more than one artifact then each artifact requires distinct platform values, otherwise the latest artifact will override any previous matches by platform.

  • You may explicitly skip an artifact by defining an extra property named skipSdkman with a true value.

  • Publishing will be skipped if no suitable artifacts are found.

Supported platform values are:

  • mac, osx.

  • win, windows.

  • linux.