JReleaser

website·Indexed 35 days ago

https://jreleaser.org/guide/latest/

A tool for automating the release process of projects in various languages including Java, Go, Node, Rust, and others. It provides capabilities for assembling binary distributions (such as jlink, jpackage, and Native Image), packaging for platforms like Docker, AppImage, and Chocolatey, generating SBOMs via CycloneDX and Syft, and announcing releases to platforms like Sdkman, Bluesky, and Discord.

Tokens
620.8K
Snippets
2.9K
Records
3.6K
Agent score
62%

What's inside JReleaser

  1. Overview of JReleaser Winget Packager

    The Winget packager in JReleaser generates and publishes Winget manifests to a specified repository. While JReleaser handles the manifest generation and repository push, users are responsible for manually submitting a Pull Request to the official Windows Package Manager Community Repository to make the package public.

    Supported artifact extensions include:

    • .msi
    • .exe
    • .zip

    Note: Publication of snapshots is not allowed.

  2. Overview of JReleaser Docker packager

    The Docker packager creates Docker images from .jar or .zip artifacts. It requires the docker command and a running Docker daemon to be installed on the system. If no registries are configured, docker.io is used as the default registry (named DEFAULT), and the Git username is used as the default username.
  3. Overview of Gofish packager in JReleaser

    The Gofish packager generates a fish food file and publishes it to a specified repository for the GoFish cross-platform systems package manager.

    Important Lifecycle Note: This packager was deprecated in v1.1.0 and is scheduled for removal in v2.0.0.

    Supported Artifact Extensions:

    • .tgz, .txz, .tar.gz, .tar.xz, .tar, .zip

    Constraints:

    • Publication of snapshots is not allowed.
  4. Overview of JReleaser release automation

    JReleaser is a release automation tool designed to simplify creating releases and publishing artifacts to multiple package managers. It supports projects regardless of source language (including Java, Go, Node, Rust, Python, C/C++, C#, etc.).

    Key capabilities include:

    • Creating Git releases (tags, changelogs, and assets) on services like GitHub, GitLab, Gitea, or Forgejo.
    • Publishing distribution files (JARs, .zip, .tar, JLink images) to package managers such as Homebrew, Snapcraft, and Scoop.
    • Announcing releases via channels like Bluesky, Mastodon, Zulip, and Sdkman.
    • Assembling additional binaries and files for publication.
  5. Overview of JREleaser asdf packager

    The asdf packager allows JREleaser to integrate with asdf, a tool version manager. It supports the following artifact extensions: .tgz, .txz, .tar.gz, .tar.xz, .tar, and .zip.

    Important Constraints:

    • Default templates assume the project uses Semantic Versioning (SemVer). Custom templates are required for different versioning schemes.
    • Publication of snapshots is not allowed.
  6. Overview of JReleaser Winget Packager

    The Winget packager allows JReleaser to generate and publish Winget manifests into a Git repository. While JReleaser handles the manifest generation and publication to a chosen repository, users are responsible for submitting Pull Requests to the official Windows Package Manager Community Repository. Supported artifact extensions include .msi, .exe, and .zip. Note that publication of snapshots is not allowed.
  7. Overview of JReleaser release automation

    JReleaser is a release automation tool that simplifies creating releases and publishing artifacts to multiple package managers. It supports projects regardless of source language (including Java, Go, Node, Rust, Perl, Python, C/C++, C#, Elixir, Haskell, and others).

    Key capabilities include:

    • Creating Git releases (tags, changelogs, and assets).
    • Publishing artifacts (JARs, .zip, .tar, JLink images) to Git services like GitHub, GitLab, Gitea, or Forgejo.
    • Publishing to package managers such as Homebrew, Snapcraft, and Scoop.
    • Integrating with JBang.
    • Announcing releases via channels like Bluesky, Mastodon, Zulip, and Sdkman.
  8. Overview of Macports packager in JReleaser

    The Macports packager generates a Portfile and publishes it to a Git repository of your choice. It supports artifacts with .zip and .dmg extensions. Note that publication of snapshots is not allowed. While JReleaser can push to your own repository, you are responsible for submitting Pull Requests to the official macports-ports repository if you wish to include your software there.
  9. Overview of JReleaser release automation

    JReleaser is a tool designed to automate the release process for projects written in various languages, including Java, Go, Node, Rust, Zig, Swift, Perl, Python, C/C++, C#, Elixir, Haskell, Ruby, and Crystal. It provides a set of automated capabilities to streamline the distribution of software.
  10. Overview of JReleaser release automation

    JReleaser is a release automation tool designed to simplify the creation of releases and the publishing of artifacts to multiple package managers. It supports projects regardless of source language (including Java, Go, Node, Rust, Python, C/C++, C#, etc.).

    Key capabilities include:

    • Creating Git releases (tags, changelogs, and assets).
    • Publishing binary assets (JARs, .zip, .tar, JLink images) to Git services like GitHub, GitLab, Gitea, or Forgejo.
    • Distributing files to package managers such as Homebrew, Snapcraft, and Scoop, or preparing them for JBang.
    • Announcing releases via channels like Bluesky, Mastodon, Zulip, and Sdkman.
  11. Overview of the Jpackage assembler

    The Jpackage assembler uses the jpackage tool to create platform installers. To use this assembler, you must have JDK 16 or greater installed. You can automate JDK management using the JDKs Maven Plugin or the JDKs Gradle Plugin. Note that you may configure either the jlink property or the runtimeImages property, but you cannot use both simultaneously.