Repository navigation
jreleaser: add 1.26.0 - #923
Open
bryan-minimal wants to merge 1 commit into
Open
bryan-minimal wants to merge 1 commit into
bryan-minimal wants to merge 1 commit into
Conversation
Release automation. Ships the architecture-independent JVM distribution
(bin/ launcher + lib/ jars) on jdk, with the launcher's sh/coreutils/
findutils/sed deps. Consumers inherit needs = { dns, internet }; tests run
init and an archive assemble offline.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
packages/jreleaser, JReleaser 1.26.0 (jreleaser/jreleaser, 2026-08-31). JReleaser is release automation: changelogs, forge releases, packagers, Maven Central deploys and announcements. Java loadout, #899.jreleaser-1.26.0.zip, which holds abin/jreleaserlauncher and 133 jars inlib/. It is one artifact for both arches. sha256c821df22…8dec628matches upstream'sjreleaser-1.26.0.zip.sha256,checksums_sha256.txtand the release asset digest. I chose it over the per-arch GraalVM native zips: one sha256, nomatch target, and it runs on the same JDK as the rest of the Java tooling. The bytecode targets Java 8, so any packaged jdk runs it./usr/share/jreleaser/{bin/jreleaser,lib/*.jar,LICENSE,NOTICE}plus a/usr/bin/jreleaserwrapper that execs the upstream launcher. The.batlauncher is dropped. The zip stores the jars as0600, sobuild.shinstalls them with explicit modes (0644, launcher0755).bin/jreleaseris POSIX sh (#!/usr/bin/env sh). It resolvesAPP_HOMEfrom its own path and runsjava -classpath lib/* org.jreleaser.cli.Main. It uses$JAVA_HOME/bin/javaifJAVA_HOMEis set, otherwisejavaon PATH; the packagedjdkprovides both. It honoursJAVA_OPTS.jdk;bash(theshscripts);coreutils(env,uname,ls,tr);findutils(xargs: the launcher dies withxargs is not availablewithout it);sed(used to quoteJAVA_OPTS).needs = { dns, internet }for consumers, as jbang (jbang: add 0.142.0 #903) does. Local steps such asinit,configandassemblerun offline, and the tests prove it.GithubRepojreleaser/jreleaser (tagsv<version>).maven/gradle/jdtls: the Gradle build resolves from Maven Central.binary_fromrecords it.Tests (Standalone)
jreleaser_version: one line ofjreleaser --versionis exactlyjreleaser 1.26.0.init:jreleaser init --format ymlin an empty dir writes ajreleaser.ymlstamped# Generated with JReleaser 1.26.0, with aproject:block.assemble: a real offline release step. The test creates a git repo (gitis a test dep, as inemacs-site-lisp) with ajreleaser.ymlthat declares anarchiveassembler oversrc/hello.txt.jreleaser config --assemblymust parse and validate the config.jreleaser assemblemust succeed, anddemo-1.2.3.tar.gzanddemo-1.2.3.zipmust each containdemo-1.2.3/hello.txt. The tar is listed withtar, the zip with the JDK'sjar.JAVA_OPTSpins the JVM's HTTP(S) proxy to a closed local port, so any network attempt fails instead of reaching out. No forge token is involved.Verified
I built it in a
pkgbuildsession (arm64) withmin package build --rebuild --verbose jreleaser, then ranmin check --packages jreleaser. Every checker passed, includingstandalone tests,output types validandmissing runtime_deps.Negative control (fresh session): I expected
jreleaser 1.25.0anddemo-1.2.3/bye.txtin the zip. Bothjreleaser_versionandassemblefailed. I restored the file and re-checked in a fresh session: it passed.amd64 is left to CI; the distribution is architecture-independent.
Refs #899
🤖 Generated with Claude Code
Summary by CodeRabbit