Skip to content

Commit e34aa01

Browse files
committed
Support Scala 3
1 parent d0646c2 commit e34aa01

File tree

9 files changed

+28
-24
lines changed

9 files changed

+28
-24
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
test:
1414
runs-on: ubuntu-latest
1515
steps:
16-
- uses: actions/checkout@v4
16+
- uses: actions/checkout@v5
1717
- uses: guardian/setup-scala@v1
1818
- name: Build and Test
1919
run: sbt -v +test

.github/workflows/release.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,10 @@ on:
55

66
jobs:
77
release:
8-
uses: guardian/gha-scala-library-release-workflow/.github/workflows/reusable-release.yml@v1
8+
uses: guardian/gha-scala-library-release-workflow/.github/workflows/reusable-release.yml@v2
99
permissions: { contents: write, pull-requests: write }
1010
with:
1111
GITHUB_APP_ID: 930725
12-
SONATYPE_PROFILE_NAME: 'com.madgag'
13-
SONATYPE_CREDENTIAL_HOST: 's01.oss.sonatype.org'
1412
secrets:
1513
SONATYPE_TOKEN: ${{ secrets.AUTOMATED_MAVEN_RELEASE_SONATYPE_TOKEN }}
1614
PGP_PRIVATE_KEY: ${{ secrets.AUTOMATED_MAVEN_RELEASE_PGP_SECRET }}

.tool-versions

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
java corretto-11.0.25.9.1
1+
java corretto-21.0.3.9.1

build.sbt

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,33 +2,40 @@ import ReleaseTransformations.*
22
import sbtversionpolicy.withsbtrelease.ReleaseVersion
33
import Dependencies.*
44

5+
ThisBuild / scalaVersion := "3.3.6"
6+
ThisBuild / crossScalaVersions := Seq(
7+
scalaVersion.value,
8+
"2.13.16"
9+
)
10+
ThisBuild / scalacOptions := Seq("-deprecation", "-release:11")
11+
512
lazy val artifactProducingProjectSettings = Seq(
6-
scalaVersion := "2.13.16",
713
organization := "com.madgag.scala-git",
814
licenses := Seq(License.Apache2),
915
scalacOptions ++= Seq("-deprecation", "-unchecked", "-release:11"),
10-
libraryDependencies ++= Seq(madgagCompress % Test, scalatest % Test)
16+
libraryDependencies ++= Seq(scalatest % Test)
1117
)
1218

1319
lazy val `scala-git` = project.settings(artifactProducingProjectSettings *).dependsOn(`scala-git-test` % Test).settings(
1420
libraryDependencies ++= Seq(
1521
jgit,
1622
"com.madgag" %% "scala-collection-plus" % "1.0.0",
1723
scalatest % Test
18-
)
24+
),
25+
Test / fork := true
1926
)
2027

2128
lazy val `scala-git-test` = project.in(file("scala-git-test")).settings(artifactProducingProjectSettings *).settings(
22-
libraryDependencies ++= guava :+ madgagCompress :+ jgit
29+
libraryDependencies ++= guava :+ zip4j :+ jgit
2330
)
2431

2532
ThisBuild / Test / testOptions +=
2633
Tests.Argument(TestFrameworks.ScalaTest, "-u", s"test-results/scala-${scalaVersion.value}", "-o")
2734

2835
lazy val root = (project in file(".")).aggregate(`scala-git`, `scala-git-test`).settings(
2936
publish / skip := true,
30-
releaseVersion := ReleaseVersion.fromAggregatedAssessedCompatibilityWithLatestRelease().value,
31-
// releaseCrossBuild := true, // true if you cross-build the project for multiple Scala versions
37+
// releaseVersion := ReleaseVersion.fromAggregatedAssessedCompatibilityWithLatestRelease().value,
38+
releaseCrossBuild := true, // true if you cross-build the project for multiple Scala versions
3239
releaseProcess := Seq[ReleaseStep](
3340
checkSnapshotDependencies,
3441
inquireVersions,

project/Dependencies.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ import sbt._
22

33
object Dependencies {
44

5-
val jgit = "org.eclipse.jgit" % "org.eclipse.jgit" % "6.10.0.202406032230-r"
5+
val jgit = "org.eclipse.jgit" % "org.eclipse.jgit" % "7.3.0.202506031305-r"
66

77
val scalatest = "org.scalatest" %% "scalatest" % "3.2.19"
88

9-
val madgagCompress = "com.madgag" % "util-compress" % "1.35"
9+
val zip4j = "net.lingala.zip4j" % "zip4j" % "2.11.5"
1010

11-
val guava = Seq("com.google.guava" % "guava" % "33.4.0-jre", "com.google.code.findbugs" % "jsr305" % "3.0.2")
11+
val guava = Seq("com.google.guava" % "guava" % "33.4.8-jre", "com.google.code.findbugs" % "jsr305" % "3.0.2")
1212

1313
}

project/build.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
sbt.version=1.10.7
1+
sbt.version=1.11.4

project/plugins.sbt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
11
addSbtPlugin("com.github.sbt" % "sbt-release" % "1.4.0")
22

3-
addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.12.2")
4-
53
addSbtPlugin("ch.epfl.scala" % "sbt-version-policy" % "3.2.1")

scala-git-test/src/main/scala/com/madgag/git/test/package.scala

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,11 @@
1616

1717
package com.madgag.git
1818

19+
import net.lingala.zip4j.ZipFile
20+
1921
import java.io.File
2022
import java.io.File.separatorChar
2123
import java.net.URL
22-
import com.madgag.compress.CompressUtil._
2324
import org.eclipse.jgit.internal.storage.file.FileRepository
2425
import org.eclipse.jgit.storage.file.FileRepositoryBuilder
2526

@@ -32,18 +33,18 @@ package object test {
3233
FileRepositoryBuilder.create(resolvedGitDir).asInstanceOf[FileRepository]
3334
}
3435

35-
def unpackRepoAndGetGitDir(fileName: String) = {
36+
def unpackRepoAndGetGitDir(fileName: String): File = {
3637
val resource: URL = getClass.getResource(fileName)
3738
assert(resource != null, s"Resource for $fileName is null.")
38-
val rawZipFileInputStream = resource.openStream()
39-
assert(rawZipFileInputStream != null, s"Stream for $fileName is null.")
4039

40+
val file = new File(resource.toURI)
41+
assert(file.exists(), s"File $file does not exist.")
4142

4243
val repoParentFolder = new File(createTempDirectory("test").toFile, fileName.replace(separatorChar, '_') + "-unpacked")
4344
repoParentFolder.mkdir()
4445

45-
unzip(rawZipFileInputStream, repoParentFolder)
46-
rawZipFileInputStream.close
46+
new ZipFile(file.getAbsolutePath).extractAll(repoParentFolder.getAbsolutePath)
47+
4748
repoParentFolder
4849
}
4950
}

version.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ThisBuild / version := "6.0.1-SNAPSHOT"
1+
ThisBuild / version := "7.0.0-SNAPSHOT"

0 commit comments

Comments
 (0)