From 5fbc47583170b09bb40becf63fc02dc0dae4d881 Mon Sep 17 00:00:00 2001 From: Roberto Tyley Date: Mon, 18 Aug 2025 12:34:31 +0100 Subject: [PATCH] Scala 3 yeah # Conflicts: # version.sbt --- build.sbt | 19 +++++++++++++------ project/Dependencies.scala | 2 +- .../scala/com/madgag/git/test/package.scala | 13 +++++++------ 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/build.sbt b/build.sbt index 29251cd..812527a 100644 --- a/build.sbt +++ b/build.sbt @@ -2,12 +2,18 @@ import ReleaseTransformations.* import sbtversionpolicy.withsbtrelease.ReleaseVersion import Dependencies.* +ThisBuild / scalaVersion := "3.3.6" +ThisBuild / crossScalaVersions := Seq( + scalaVersion.value, + "2.13.16" +) +ThisBuild / scalacOptions := Seq("-deprecation", "-release:11") + lazy val artifactProducingProjectSettings = Seq( - scalaVersion := "2.13.16", organization := "com.madgag.scala-git", licenses := Seq(License.Apache2), scalacOptions ++= Seq("-deprecation", "-unchecked", "-release:11"), - libraryDependencies ++= Seq(madgagCompress % Test, scalatest % Test) + libraryDependencies ++= Seq(scalatest % Test) ) lazy val `scala-git` = project.settings(artifactProducingProjectSettings *).dependsOn(`scala-git-test` % Test).settings( @@ -15,11 +21,12 @@ lazy val `scala-git` = project.settings(artifactProducingProjectSettings *).depe jgit, "com.madgag" %% "scala-collection-plus" % "1.0.0", scalatest % Test - ) + ), + Test / fork := true ) lazy val `scala-git-test` = project.in(file("scala-git-test")).settings(artifactProducingProjectSettings *).settings( - libraryDependencies ++= guava :+ madgagCompress :+ jgit + libraryDependencies ++= guava :+ zip4j :+ jgit ) ThisBuild / Test / testOptions += @@ -27,8 +34,8 @@ ThisBuild / Test / testOptions += lazy val root = (project in file(".")).aggregate(`scala-git`, `scala-git-test`).settings( publish / skip := true, - releaseVersion := ReleaseVersion.fromAggregatedAssessedCompatibilityWithLatestRelease().value, - // releaseCrossBuild := true, // true if you cross-build the project for multiple Scala versions + // releaseVersion := ReleaseVersion.fromAggregatedAssessedCompatibilityWithLatestRelease().value, + releaseCrossBuild := true, // true if you cross-build the project for multiple Scala versions releaseProcess := Seq[ReleaseStep]( checkSnapshotDependencies, inquireVersions, diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 0d1e87d..01f4768 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -6,7 +6,7 @@ object Dependencies { val scalatest = "org.scalatest" %% "scalatest" % "3.2.19" - val madgagCompress = "com.madgag" % "util-compress" % "1.35" + val zip4j = "net.lingala.zip4j" % "zip4j" % "2.11.5" val guava = Seq("com.google.guava" % "guava" % "33.4.8-jre", "com.google.code.findbugs" % "jsr305" % "3.0.2") diff --git a/scala-git-test/src/main/scala/com/madgag/git/test/package.scala b/scala-git-test/src/main/scala/com/madgag/git/test/package.scala index f4896da..dfe35d7 100644 --- a/scala-git-test/src/main/scala/com/madgag/git/test/package.scala +++ b/scala-git-test/src/main/scala/com/madgag/git/test/package.scala @@ -16,10 +16,11 @@ package com.madgag.git +import net.lingala.zip4j.ZipFile + import java.io.File import java.io.File.separatorChar import java.net.URL -import com.madgag.compress.CompressUtil._ import org.eclipse.jgit.internal.storage.file.FileRepository import org.eclipse.jgit.storage.file.FileRepositoryBuilder @@ -32,18 +33,18 @@ package object test { FileRepositoryBuilder.create(resolvedGitDir).asInstanceOf[FileRepository] } - def unpackRepoAndGetGitDir(fileName: String) = { + def unpackRepoAndGetGitDir(fileName: String): File = { val resource: URL = getClass.getResource(fileName) assert(resource != null, s"Resource for $fileName is null.") - val rawZipFileInputStream = resource.openStream() - assert(rawZipFileInputStream != null, s"Stream for $fileName is null.") + val file = new File(resource.toURI) + assert(file.exists(), s"File $file does not exist.") val repoParentFolder = new File(createTempDirectory("test").toFile, fileName.replace(separatorChar, '_') + "-unpacked") repoParentFolder.mkdir() - unzip(rawZipFileInputStream, repoParentFolder) - rawZipFileInputStream.close + new ZipFile(file.getAbsolutePath).extractAll(repoParentFolder.getAbsolutePath) + repoParentFolder } }