Disable publishing native executables to Maven Central (#1146)

Attempts to publish these artifacts is resulting in errors like
"No Archiver found for the stream signature"

Also, add to release notes
This commit is contained in:
Daniel Chao
2025-07-24 09:21:02 -07:00
committed by GitHub
parent b38b15ba71
commit 8e88133248
2 changed files with 125 additions and 120 deletions
@@ -20,7 +20,8 @@ plugins {
id("pklGraalVm") id("pklGraalVm")
id("pklJavaLibrary") id("pklJavaLibrary")
id("pklNativeLifecycle") id("pklNativeLifecycle")
id("pklPublishLibrary") // TODO: re-enable maven publishing
// id("pklPublishLibrary")
id("com.github.johnrengelman.shadow") id("com.github.johnrengelman.shadow")
} }
@@ -170,122 +171,122 @@ val assembleNativeAlpineLinuxAmd64 by tasks.existing { wraps(alpineExecutableAmd
val assembleNativeWindowsAmd64 by tasks.existing { wraps(windowsExecutableAmd64) } val assembleNativeWindowsAmd64 by tasks.existing { wraps(windowsExecutableAmd64) }
publishing { // publishing {
publications { // publications {
// need to put in `afterEvaluate` because `artifactId` cannot be set lazily. // // need to put in `afterEvaluate` because `artifactId` cannot be set lazily.
project.afterEvaluate { // project.afterEvaluate {
create<MavenPublication>("macExecutableAmd64") { // create<MavenPublication>("macExecutableAmd64") {
artifactId = "${executableSpec.publicationName.get()}-macos-amd64" // artifactId = "${executableSpec.publicationName.get()}-macos-amd64"
artifact(stagedMacAmd64Executable.singleFile) { // artifact(stagedMacAmd64Executable.singleFile) {
classifier = null // classifier = null
extension = "bin" // extension = "bin"
builtBy(stagedMacAmd64Executable) // builtBy(stagedMacAmd64Executable)
} // }
pom { // pom {
name = "${executableSpec.publicationName.get()}-macos-amd64" // name = "${executableSpec.publicationName.get()}-macos-amd64"
url = executableSpec.website // url = executableSpec.website
description = // description =
executableSpec.documentationName.map { name -> // executableSpec.documentationName.map { name ->
"Native $name executable for macOS/amd64." // "Native $name executable for macOS/amd64."
} // }
} // }
} // }
//
create<MavenPublication>("macExecutableAarch64") { // create<MavenPublication>("macExecutableAarch64") {
artifactId = "${executableSpec.publicationName.get()}-macos-aarch64" // artifactId = "${executableSpec.publicationName.get()}-macos-aarch64"
artifact(stagedMacAarch64Executable.singleFile) { // artifact(stagedMacAarch64Executable.singleFile) {
classifier = null // classifier = null
extension = "bin" // extension = "bin"
builtBy(stagedMacAarch64Executable) // builtBy(stagedMacAarch64Executable)
} // }
pom { // pom {
name = "${executableSpec.publicationName.get()}-macos-aarch64" // name = "${executableSpec.publicationName.get()}-macos-aarch64"
url = executableSpec.website // url = executableSpec.website
description = // description =
executableSpec.documentationName.map { name -> // executableSpec.documentationName.map { name ->
"Native $name executable for macOS/aarch64." // "Native $name executable for macOS/aarch64."
} // }
} // }
} // }
//
create<MavenPublication>("linuxExecutableAmd64") { // create<MavenPublication>("linuxExecutableAmd64") {
artifactId = "${executableSpec.publicationName.get()}-linux-amd64" // artifactId = "${executableSpec.publicationName.get()}-linux-amd64"
artifact(stagedLinuxAmd64Executable.singleFile) { // artifact(stagedLinuxAmd64Executable.singleFile) {
classifier = null // classifier = null
extension = "bin" // extension = "bin"
builtBy(stagedLinuxAmd64Executable) // builtBy(stagedLinuxAmd64Executable)
} // }
pom { // pom {
name = "${executableSpec.publicationName.get()}-linux-amd64" // name = "${executableSpec.publicationName.get()}-linux-amd64"
url = executableSpec.website // url = executableSpec.website
description = // description =
executableSpec.documentationName.map { name -> // executableSpec.documentationName.map { name ->
"Native $name executable for linux/amd64." // "Native $name executable for linux/amd64."
} // }
} // }
} // }
//
create<MavenPublication>("linuxExecutableAarch64") { // create<MavenPublication>("linuxExecutableAarch64") {
artifactId = "${executableSpec.publicationName.get()}-linux-aarch64" // artifactId = "${executableSpec.publicationName.get()}-linux-aarch64"
artifact(stagedLinuxAarch64Executable.singleFile) { // artifact(stagedLinuxAarch64Executable.singleFile) {
classifier = null // classifier = null
extension = "bin" // extension = "bin"
builtBy(stagedLinuxAarch64Executable) // builtBy(stagedLinuxAarch64Executable)
} // }
pom { // pom {
name = "${executableSpec.publicationName.get()}-linux-aarch64" // name = "${executableSpec.publicationName.get()}-linux-aarch64"
url = executableSpec.website // url = executableSpec.website
description = // description =
executableSpec.documentationName.map { name -> // executableSpec.documentationName.map { name ->
"Native $name executable for linux/aarch64." // "Native $name executable for linux/aarch64."
} // }
} // }
} // }
//
create<MavenPublication>("alpineLinuxExecutableAmd64") { // create<MavenPublication>("alpineLinuxExecutableAmd64") {
artifactId = "${executableSpec.publicationName.get()}-alpine-linux-amd64" // artifactId = "${executableSpec.publicationName.get()}-alpine-linux-amd64"
artifact(stagedAlpineLinuxAmd64Executable.singleFile) { // artifact(stagedAlpineLinuxAmd64Executable.singleFile) {
classifier = null // classifier = null
extension = "bin" // extension = "bin"
builtBy(stagedAlpineLinuxAmd64Executable) // builtBy(stagedAlpineLinuxAmd64Executable)
} // }
pom { // pom {
name = "${executableSpec.publicationName.get()}-alpine-linux-amd64" // name = "${executableSpec.publicationName.get()}-alpine-linux-amd64"
url = executableSpec.website // url = executableSpec.website
description = // description =
executableSpec.documentationName.map { name -> // executableSpec.documentationName.map { name ->
"Native $name executable for linux/amd64 and statically linked to musl." // "Native $name executable for linux/amd64 and statically linked to musl."
} // }
} // }
} // }
//
create<MavenPublication>("windowsExecutableAmd64") { // create<MavenPublication>("windowsExecutableAmd64") {
artifactId = "${executableSpec.publicationName.get()}-windows-amd64" // artifactId = "${executableSpec.publicationName.get()}-windows-amd64"
artifact(stagedWindowsAmd64Executable.singleFile) { // artifact(stagedWindowsAmd64Executable.singleFile) {
classifier = null // classifier = null
extension = "exe" // extension = "exe"
builtBy(stagedWindowsAmd64Executable) // builtBy(stagedWindowsAmd64Executable)
} // }
pom { // pom {
name = "${executableSpec.publicationName.get()}-windows-amd64" // name = "${executableSpec.publicationName.get()}-windows-amd64"
url = executableSpec.website // url = executableSpec.website
description = // description =
executableSpec.documentationName.map { name -> // executableSpec.documentationName.map { name ->
"Native $name executable for windows/amd64." // "Native $name executable for windows/amd64."
} // }
} // }
} // }
} // }
} // }
} // }
//
signing { // signing {
project.afterEvaluate { // project.afterEvaluate {
sign(publishing.publications["linuxExecutableAarch64"]) // sign(publishing.publications["linuxExecutableAarch64"])
sign(publishing.publications["linuxExecutableAmd64"]) // sign(publishing.publications["linuxExecutableAmd64"])
sign(publishing.publications["macExecutableAarch64"]) // sign(publishing.publications["macExecutableAarch64"])
sign(publishing.publications["macExecutableAmd64"]) // sign(publishing.publications["macExecutableAmd64"])
sign(publishing.publications["alpineLinuxExecutableAmd64"]) // sign(publishing.publications["alpineLinuxExecutableAmd64"])
sign(publishing.publications["windowsExecutableAmd64"]) // sign(publishing.publications["windowsExecutableAmd64"])
} // }
} // }
@@ -381,6 +381,10 @@ Code that references the name from the lexical scope will continue to work as-is
To learn more about name resolution, consult the xref:language-reference:index.adoc#name-resolution[language reference]. To learn more about name resolution, consult the xref:language-reference:index.adoc#name-resolution[language reference].
=== Native executables are not published to Maven Central
Due to a breakage in release pipeline, the `pkl` native executables are no longer published to Maven Central (https://github.com/apple/pkl/pull/1146[#1146]).
== Miscellaneous [small]#🐸# == Miscellaneous [small]#🐸#
* Documentation improvements (https://github.com/apple/pkl/pull/1065[#1065], https://github.com/apple/pkl/pull/1127[#1127]). * Documentation improvements (https://github.com/apple/pkl/pull/1065[#1065], https://github.com/apple/pkl/pull/1127[#1127]).