Skip to content

Commit f85f1e4

Browse files
committed
Cross build to sbt 2.0.0-M3
1 parent 07337b5 commit f85f1e4

File tree

24 files changed

+105
-59
lines changed

24 files changed

+105
-59
lines changed

build.sbt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ThisBuild / version := {
66
if (orig.endsWith("-SNAPSHOT")) "0.11.0-SNAPSHOT"
77
else orig
88
}
9-
val scala3 = "3.3.4"
9+
val scala3 = "3.6.2"
1010
ThisBuild / scalaVersion := scala3
1111

1212
lazy val root = (project in file("."))
@@ -32,9 +32,15 @@ lazy val root = (project in file("."))
3232
(pluginCrossBuild / sbtVersion) := {
3333
scalaBinaryVersion.value match {
3434
case "2.12" => "1.5.8"
35-
case _ => "2.0.0-M2"
35+
case _ => "2.0.0-M3"
3636
}
37-
}
37+
},
38+
scriptedSbt := {
39+
scalaBinaryVersion.value match {
40+
case "2.12" => "1.10.7"
41+
case _ => "2.0.0-M3"
42+
}
43+
},
3844
)
3945

4046
ThisBuild / scmInfo := Some(

project/build.properties

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

src/main/scala-2.12/sbtbuildinfo/PluginCompat.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ object PluginCompat {
3434
def toClasspath(cp: Vector[NioPath]): Seq[Attributed[File]] =
3535
cp.map((x) => Attributed.blank(x.toFile()))
3636

37+
def taskName(task: Task[?]): Option[String] = task.info.name
38+
def taskAttributes(task: Task[?]) = task.info.attributes
39+
3740
implicit class RichScope(scope: Scope) {
3841
@nowarn
3942
def rescope(ref: Reference): Scope = scope.in(ref)

src/main/scala-3/sbtbuildinfo/PluginCompat.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ object PluginCompat:
2323
def toClasspath(cp: Vector[NioPath])(using conv: FileConverter): Seq[Attributed[HashedVirtualFileRef]] =
2424
cp.map((x) => Attributed.blank(conv.toVirtualFile(x)))
2525

26+
def taskName(task: Task[?]): Option[String] = task.name
27+
def taskAttributes(task: Task[?]) = task.attributes
28+
2629
trait BuildInfoKeys0:
2730
@nowarn inline given [A1]: Conversion[SettingKey[A1], Entry[A1]] = BuildInfoKey(_)
2831
@nowarn inline given [A1]: Conversion[TaskKey[A1], Entry[A1]] = BuildInfoKey(_)

src/main/scala/sbtbuildinfo/BuildInfo.scala

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,13 @@ object BuildInfo {
7373
Seq(config, inTask, Some(key)).flatten mkString "_"
7474
}
7575

76-
private def ident(task: Task[_]): String = (
77-
task.info.name
78-
orElse (task.info.attributes get taskDefinitionKey map ident)
79-
getOrElse s"<anon-${System identityHashCode task}>"
80-
)
81-
76+
private def ident(task: Task[_]): String =
77+
taskName(task) match {
78+
case Some(name) => name
79+
case None =>
80+
(taskAttributes(task) get taskDefinitionKey map ident)
81+
.getOrElse(s"<anon-${System identityHashCode task}>")
82+
}
8283

8384
private case class BuildInfoTask(dir: File,
8485
renderer: BuildInfoRenderer,

src/main/scala/sbtbuildinfo/JavaRenderer.scala

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,14 @@ abstract class JavaRenderer(pkg: String, cl: String, makeStatic: Boolean) extend
4040
| return null;
4141
| }
4242
| }
43+
|
44+
| private static java.net.URI internalAsUri(String uriString) {
45+
| try {
46+
| return new java.net.URI(uriString);
47+
| } catch (Exception e) {
48+
| return null;
49+
| }
50+
| }
4351
|""".stripMargin
4452

4553
protected val buildMapLines: String =
@@ -152,6 +160,8 @@ abstract class JavaRenderer(pkg: String, cl: String, makeStatic: Boolean) extend
152160
case TypeExpression("java.lang.String", Nil) => Some("String")
153161
case TypeExpression("java.net.URL", Nil) => Some("java.net.URL")
154162
case TypeExpression("sbt.URL", Nil) => Some("java.net.URL")
163+
case TypeExpression("java.net.URI", Nil) => Some("java.net.URI")
164+
case TypeExpression("sbt.URI", Nil) => Some("java.net.URI")
155165
case TypeExpression("java.io.File", Nil) => Some("java.io.File")
156166
case TypeExpression("sbt.File", Nil) => Some("java.io.File")
157167
case TypeExpression("scala.xml.NodeSeq", Nil) => None
@@ -183,9 +193,10 @@ abstract class JavaRenderer(pkg: String, cl: String, makeStatic: Boolean) extend
183193
x0 <- tpeToReturnType(arg0)
184194
x1 <- tpeToReturnType(arg1)
185195
} yield s"java.util.Map.Entry<$x0, $x1>"
186-
196+
187197
case TypeExpression("java.time.LocalDate", Nil) => Some("java.time.LocalDate")
188198
case TypeExpression("java.time.Instant", Nil) => Some("java.time.Instant")
199+
case TypeExpression("sbt.librarymanagement.License", Nil) => Some("String")
189200

190201
case _ =>
191202
// println(s"java other: $tpe")
@@ -208,6 +219,7 @@ abstract class JavaRenderer(pkg: String, cl: String, makeStatic: Boolean) extend
208219
case op: Option[_] =>
209220
op map { x => "java.util.Optional.of(" + quote(x) + ")" } getOrElse { "java.util.Optional.empty()" }
210221
case url: java.net.URL => "internalAsUrl(%s)" format quote(url.toString)
222+
case uri: java.net.URI => "internalAsUri(%s)" format quote(uri.toString)
211223
case file: java.io.File => "new java.io.File(%s)" format quote(file.toString)
212224
case attr: sbt.Attributed[_] => quote(attr.data)
213225
case date: java.time.LocalDate => "java.time.LocalDate.parse(%s)" format quote(date.toString)

src/main/scala/sbtbuildinfo/ScalaRenderer.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ abstract class ScalaRenderer extends BuildInfoRenderer {
5454
case TypeExpression("java.lang.String", Nil) => Some("String")
5555
case TypeExpression("java.net.URL", Nil) => Some("java.net.URL")
5656
case TypeExpression("sbt.URL", Nil) => Some("java.net.URL")
57+
case TypeExpression("java.net.URI", Nil) => Some("java.net.URI")
5758
case TypeExpression("java.io.File", Nil) => Some("java.io.File")
5859
case TypeExpression("sbt.File", Nil) => Some("java.io.File")
5960
case TypeExpression("scala.xml.NodeSeq", Nil) => Some("scala.xml.NodeSeq")
@@ -106,6 +107,7 @@ abstract class ScalaRenderer extends BuildInfoRenderer {
106107
case seq: collection.Seq[_] => seq.map(quote).mkString("scala.collection.immutable.Seq(", ", ", ")")
107108
case op: Option[_] => op map { x => "scala.Some(" + quote(x) + ")" } getOrElse {"scala.None"}
108109
case url: java.net.URL => "new java.net.URI(%s).toURL" format quote(url.toString)
110+
case uri: java.net.URI => "new java.net.URI(%s)" format quote(uri.toString)
109111
case file: java.io.File => "new java.io.File(%s)" format quote(file.toString)
110112
case attr: sbt.Attributed[_] => quote(attr.data)
111113
case date: java.time.LocalDate => "java.time.LocalDate.parse(%s)" format quote(date.toString)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
> compile
2-
# $ exists target/scala-2.12/src_managed/main/sbt-buildinfo/BuildInfo.scala
2+
$ exists target/**/src_managed/main/sbt-buildinfo/BuildInfo.scala
33

44
> check
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
> compile
2-
# $ exists target/scala-2.12/src_managed/main/sbt-buildinfo/BuildInfo.scala
2+
$ exists target/**/src_managed/main/sbt-buildinfo/BuildInfo.scala
33

44
> check

src/sbt-test/sbt-buildinfo/caching/test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
> compile
2-
# $ exists target/scala-2.12/src_managed/main/sbt-buildinfo/BuildInfo.scala
2+
$ exists target/**/src_managed/main/sbt-buildinfo/BuildInfo.scala
33
> check
44
# $ copy-file target/scala-2.12/src_managed/main/sbt-buildinfo/BuildInfo.scala target/BuildInfo.scala
55
> compile

0 commit comments

Comments
 (0)