Skip to content

Commit 5b3d82a

Browse files
Fix layout of released SDK archives, restore intermiediete top-level directory (#22199)
Fixes #22194 Restores top-level directory `scala3-${version}` that is present in artifacts published before Scala 3.6, removed during hotfix 3.6.1 release. We now follow the [Well formed SDK archives layout](https://github.com/sdkman/sdkman-cli/wiki/Well-formed-SDK-archives). Removing the top-level directory even though at first glance looked like an improvement was in fact introducing problems to multiple package managers and build tools.
1 parent d685c0b commit 5b3d82a

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

Diff for: .github/workflows/ci.yaml

+3-9
Original file line numberDiff line numberDiff line change
@@ -801,19 +801,13 @@ jobs:
801801
distDir="$3"
802802
803803
# Build binaries
804-
./project/scripts/sbt "${sbtProject}/Universal/stage"
804+
./project/scripts/sbt "all ${sbtProject}/Universal/packageBin ${sbtProject}/Universal/packageZipTarball"
805805
806-
outputPath="${distDir}/target/universal/stage"
807806
artifactName="scala3-${{ env.RELEASE_TAG }}${distroSuffix}"
808-
zipArchive="${artifactName}.zip"
809-
tarGzArchive="${artifactName}.tar.gz"
810-
811-
cwd=$(pwd)
812-
(cd $outputPath && zip -r ${zipArchive} . && mv ${zipArchive} "${cwd}/")
813-
tar -czf ${tarGzArchive} -C "$outputPath" .
814807
815808
# Caluclate SHA for each of archive files
816-
for file in "${zipArchive}" "${tarGzArchive}"; do
809+
for file in "${artifactName}.zip" "${artifactName}.tar.gz"; do
810+
mv ${distDir}/target/universal/$file $file
817811
sha256sum "${file}" > "${file}.sha256"
818812
done
819813
}

Diff for: project/Build.scala

+8-1
Original file line numberDiff line numberDiff line change
@@ -2257,7 +2257,14 @@ object Build {
22572257
// ========
22582258
Universal / stage := (Universal / stage).dependsOn(republish).value,
22592259
Universal / packageBin := (Universal / packageBin).dependsOn(republish).value,
2260-
Universal / packageZipTarball := (Universal / packageZipTarball).dependsOn(republish).value,
2260+
Universal / packageZipTarball := (Universal / packageZipTarball).dependsOn(republish)
2261+
.map { archiveFile =>
2262+
// Rename .tgz to .tar.gz for consistency with previous versions
2263+
val renamedFile = archiveFile.getParentFile() / archiveFile.getName.replaceAll("\\.tgz$", ".tar.gz")
2264+
IO.move(archiveFile, renamedFile)
2265+
renamedFile
2266+
}
2267+
.value,
22612268
// ========
22622269
Universal / mappings ++= directory(dist.base / "bin"),
22632270
Universal / mappings ++= directory(republishRepo.value / "maven2"),

0 commit comments

Comments
 (0)