Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,14 @@

version: 2
updates:
- package-ecosystem: "github-actions" # See documentation for possible values
directory: "/" # Location of package manifests
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"

# Also track GitHub Actions updates on the sbt-1 maintenance branch.
- package-ecosystem: "github-actions"
directory: "/"
target-branch: "sbt-1"
schedule:
interval: "weekly"
33 changes: 6 additions & 27 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,10 @@ jobs:
steps:
- uses: actions/checkout@v6
- name: scalafmt test
run: ./sbt "+ scalafmtCheckAll"
test_sbt1_plugin:
name: plugin test (sbt 1.x)
run: ./sbt scalafmtCheckAll

test_sbt2_plugin:
name: plugin test (sbt 2.x)
strategy:
fail-fast: false
matrix:
Expand All @@ -44,27 +45,5 @@ jobs:
with:
distribution: "${{ matrix.distribution }}"
java-version: "${{ matrix.java }}"
- name: scripted tests (sbt 1.x)
run: ./sbt "++ 2.12 test" "++ 2.12 scripted"

# test_sbt2_plugin:
# name: plugin test (sbt 2.x)
# strategy:
# fail-fast: false
# matrix:
# include:
# - os: ubuntu-latest
# distribution: temurin
# java: 21
# - os: ubuntu-latest
# distribution: temurin
# java: 24
# runs-on: ${{ matrix.os }}
# steps:
# - uses: actions/checkout@v6
# - uses: actions/setup-java@v5
# with:
# distribution: "${{ matrix.distribution }}"
# java-version: "${{ matrix.java }}"
# - name: scripted tests (sbt 2.x)
# run: ./sbt "++ 3 test" "++ 3 scripted"
- name: scripted tests (sbt 2.x)
run: ./sbt test scripted
4 changes: 2 additions & 2 deletions .scala-steward.conf
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# sbt plugins must use Scala 2.12.x
updates.pin = [ { groupId = "org.scala-lang", artifactId="scala-library", version = "2.12." } ]
# sbt 2 plugins use Scala 3; no Scala version pin needed here.

2 changes: 1 addition & 1 deletion .scalafmt.conf
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
version = 3.9.4
project.layout = StandardConvention
runner.dialect = scala212
runner.dialect = scala3
maxColumn = 120
style = defaultWithAlign
optIn.breaksInsideChains = true
14 changes: 3 additions & 11 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,10 @@ Global / onChangedBuildSource := ReloadOnSourceChanges
enablePlugins(SbtTwirl)
enablePlugins(SbtPlugin)

val SCALA_3 = "3.7.4"
val SCALA_2 = "2.12.21"
ThisBuild / crossScalaVersions := List(SCALA_3, SCALA_2)
val SCALA_3 = "3.8.4"
ThisBuild / scalaVersion := SCALA_3

pluginCrossBuild / sbtVersion := {
scalaBinaryVersion.value match {
case "2.12" =>
(pluginCrossBuild / sbtVersion).value
case _ =>
"2.0.0-M4"
}
}
pluginCrossBuild / sbtVersion := "2.0.0"

organization := "org.xerial.sbt"
organizationName := "Xerial project"
Expand Down
21 changes: 0 additions & 21 deletions src/main/scala-2/xerial/sbt/pack/PluginCompat.scala

This file was deleted.

38 changes: 25 additions & 13 deletions src/main/scala/xerial/sbt/pack/PackArchive.scala
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import org.apache.commons.compress.compressors.xz.XZCompressorOutputStream
import org.apache.commons.io.IOUtils
import sbt.Keys.*
import sbt.*
import xsbti.FileConverter
import PluginCompat.*
import PluginCompat.toFile

Expand Down Expand Up @@ -89,31 +90,42 @@ trait PackArchive {
packArchiveTbzArtifact := Artifact(packArchivePrefix.value, "arch", "tar.bz2"),
packArchiveTxzArtifact := Artifact(packArchivePrefix.value, "arch", "tar.xz"),
packArchiveZipArtifact := Artifact(packArchivePrefix.value, "arch", "zip"),
Def.derive(
packArchiveTgz := createArchive[TarArchiveEntry](
packArchiveTgz := Def.uncached {
given conv: FileConverter = fileConverter.value
val file = createArchive[TarArchiveEntry](
"tar.gz",
(fos) => createTarArchiveOutputStream(new GzipCompressorOutputStream(fos)),
createTarEntry
).value
),
Def.derive(
packArchiveTbz := createArchive[TarArchiveEntry](
toFileRef(file)
},
packArchiveTbz := Def.uncached {
given conv: FileConverter = fileConverter.value
val file = createArchive[TarArchiveEntry](
"tar.bz2",
(fos) => createTarArchiveOutputStream(new BZip2CompressorOutputStream(fos)),
createTarEntry
).value
),
Def.derive(
packArchiveTxz := createArchive[TarArchiveEntry](
toFileRef(file)
},
packArchiveTxz := Def.uncached {
given conv: FileConverter = fileConverter.value
val file = createArchive[TarArchiveEntry](
"tar.xz",
(fos) => createTarArchiveOutputStream(new XZCompressorOutputStream(fos)),
createTarEntry
).value
),
Def.derive(
packArchiveZip := createArchive[ZipArchiveEntry]("zip", new ZipArchiveOutputStream(_), createZipEntry).value
),
Def.derive(packArchive := Seq(packArchiveTgz.value, packArchiveZip.value))
toFileRef(file)
},
packArchiveZip := Def.uncached {
given conv: FileConverter = fileConverter.value
val file = createArchive[ZipArchiveEntry]("zip", new ZipArchiveOutputStream(_), createZipEntry).value
toFileRef(file)
},
packArchive := Def.uncached {
given conv: FileConverter = fileConverter.value
Seq(toFile(packArchiveTgz.value), toFile(packArchiveZip.value))
}
)

def publishPackArchiveTgz: SettingsDefinition =
Expand Down
Loading
Loading