From f85f1e47ca00d44c6746c7e426bcf6b13447c024 Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Thu, 26 Dec 2024 05:06:47 -0500 Subject: [PATCH] Cross build to sbt 2.0.0-M3 --- build.sbt | 12 +++++++++--- project/build.properties | 2 +- .../sbtbuildinfo/PluginCompat.scala | 3 +++ .../scala-3/sbtbuildinfo/PluginCompat.scala | 3 +++ src/main/scala/sbtbuildinfo/BuildInfo.scala | 13 +++++++------ .../scala/sbtbuildinfo/JavaRenderer.scala | 14 +++++++++++++- .../scala/sbtbuildinfo/ScalaRenderer.scala | 2 ++ src/sbt-test/sbt-buildinfo/append/test | 2 +- src/sbt-test/sbt-buildinfo/buildtime/test | 2 +- src/sbt-test/sbt-buildinfo/caching/test | 2 +- .../sbt-buildinfo/caseclassrenderer/build.sbt | 10 +++++----- .../sbt-buildinfo/caseclassrenderer/test | 2 +- .../sbt-buildinfo/constantvalue/build.sbt | 12 ++++++------ src/sbt-test/sbt-buildinfo/constantvalue/test | 2 +- .../javasingletonrenderer/build.sbt | 19 ++++++++++++++----- .../sbt-buildinfo/javasingletonrenderer/test | 3 ++- .../javastaticfieldsrenderer/build.sbt | 19 ++++++++++++++----- src/sbt-test/sbt-buildinfo/multi/build.sbt | 2 +- src/sbt-test/sbt-buildinfo/simple/build.sbt | 14 +++++++------- .../skipimportscaseclass/build.sbt | 10 +++++----- .../sbt-buildinfo/skipimportscaseclass/test | 2 +- .../sbt-buildinfo/skipimportscaseobject/test | 2 +- .../sbt-buildinfo/usepackageaspath/build.sbt | 10 +++++----- .../sbt-buildinfo/usepackageaspath/test | 2 +- 24 files changed, 105 insertions(+), 59 deletions(-) diff --git a/build.sbt b/build.sbt index 00893e7..70e5718 100644 --- a/build.sbt +++ b/build.sbt @@ -6,7 +6,7 @@ ThisBuild / version := { if (orig.endsWith("-SNAPSHOT")) "0.11.0-SNAPSHOT" else orig } -val scala3 = "3.3.4" +val scala3 = "3.6.2" ThisBuild / scalaVersion := scala3 lazy val root = (project in file(".")) @@ -32,9 +32,15 @@ lazy val root = (project in file(".")) (pluginCrossBuild / sbtVersion) := { scalaBinaryVersion.value match { case "2.12" => "1.5.8" - case _ => "2.0.0-M2" + case _ => "2.0.0-M3" } - } + }, + scriptedSbt := { + scalaBinaryVersion.value match { + case "2.12" => "1.10.7" + case _ => "2.0.0-M3" + } + }, ) ThisBuild / scmInfo := Some( diff --git a/project/build.properties b/project/build.properties index 0b699c3..73df629 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version=1.10.2 +sbt.version=1.10.7 diff --git a/src/main/scala-2.12/sbtbuildinfo/PluginCompat.scala b/src/main/scala-2.12/sbtbuildinfo/PluginCompat.scala index 9824e23..116a93a 100644 --- a/src/main/scala-2.12/sbtbuildinfo/PluginCompat.scala +++ b/src/main/scala-2.12/sbtbuildinfo/PluginCompat.scala @@ -34,6 +34,9 @@ object PluginCompat { def toClasspath(cp: Vector[NioPath]): Seq[Attributed[File]] = cp.map((x) => Attributed.blank(x.toFile())) + def taskName(task: Task[?]): Option[String] = task.info.name + def taskAttributes(task: Task[?]) = task.info.attributes + implicit class RichScope(scope: Scope) { @nowarn def rescope(ref: Reference): Scope = scope.in(ref) diff --git a/src/main/scala-3/sbtbuildinfo/PluginCompat.scala b/src/main/scala-3/sbtbuildinfo/PluginCompat.scala index 2cac5c8..cca5aad 100644 --- a/src/main/scala-3/sbtbuildinfo/PluginCompat.scala +++ b/src/main/scala-3/sbtbuildinfo/PluginCompat.scala @@ -23,6 +23,9 @@ object PluginCompat: def toClasspath(cp: Vector[NioPath])(using conv: FileConverter): Seq[Attributed[HashedVirtualFileRef]] = cp.map((x) => Attributed.blank(conv.toVirtualFile(x))) + def taskName(task: Task[?]): Option[String] = task.name + def taskAttributes(task: Task[?]) = task.attributes + trait BuildInfoKeys0: @nowarn inline given [A1]: Conversion[SettingKey[A1], Entry[A1]] = BuildInfoKey(_) @nowarn inline given [A1]: Conversion[TaskKey[A1], Entry[A1]] = BuildInfoKey(_) diff --git a/src/main/scala/sbtbuildinfo/BuildInfo.scala b/src/main/scala/sbtbuildinfo/BuildInfo.scala index 0005aef..880555f 100644 --- a/src/main/scala/sbtbuildinfo/BuildInfo.scala +++ b/src/main/scala/sbtbuildinfo/BuildInfo.scala @@ -73,12 +73,13 @@ object BuildInfo { Seq(config, inTask, Some(key)).flatten mkString "_" } - private def ident(task: Task[_]): String = ( - task.info.name - orElse (task.info.attributes get taskDefinitionKey map ident) - getOrElse s"" - ) - + private def ident(task: Task[_]): String = + taskName(task) match { + case Some(name) => name + case None => + (taskAttributes(task) get taskDefinitionKey map ident) + .getOrElse(s"") + } private case class BuildInfoTask(dir: File, renderer: BuildInfoRenderer, diff --git a/src/main/scala/sbtbuildinfo/JavaRenderer.scala b/src/main/scala/sbtbuildinfo/JavaRenderer.scala index 5652442..c0fe484 100644 --- a/src/main/scala/sbtbuildinfo/JavaRenderer.scala +++ b/src/main/scala/sbtbuildinfo/JavaRenderer.scala @@ -40,6 +40,14 @@ abstract class JavaRenderer(pkg: String, cl: String, makeStatic: Boolean) extend | return null; | } | } + | + | private static java.net.URI internalAsUri(String uriString) { + | try { + | return new java.net.URI(uriString); + | } catch (Exception e) { + | return null; + | } + | } |""".stripMargin protected val buildMapLines: String = @@ -152,6 +160,8 @@ abstract class JavaRenderer(pkg: String, cl: String, makeStatic: Boolean) extend case TypeExpression("java.lang.String", Nil) => Some("String") case TypeExpression("java.net.URL", Nil) => Some("java.net.URL") case TypeExpression("sbt.URL", Nil) => Some("java.net.URL") + case TypeExpression("java.net.URI", Nil) => Some("java.net.URI") + case TypeExpression("sbt.URI", Nil) => Some("java.net.URI") case TypeExpression("java.io.File", Nil) => Some("java.io.File") case TypeExpression("sbt.File", Nil) => Some("java.io.File") case TypeExpression("scala.xml.NodeSeq", Nil) => None @@ -183,9 +193,10 @@ abstract class JavaRenderer(pkg: String, cl: String, makeStatic: Boolean) extend x0 <- tpeToReturnType(arg0) x1 <- tpeToReturnType(arg1) } yield s"java.util.Map.Entry<$x0, $x1>" - + case TypeExpression("java.time.LocalDate", Nil) => Some("java.time.LocalDate") case TypeExpression("java.time.Instant", Nil) => Some("java.time.Instant") + case TypeExpression("sbt.librarymanagement.License", Nil) => Some("String") case _ => // println(s"java other: $tpe") @@ -208,6 +219,7 @@ abstract class JavaRenderer(pkg: String, cl: String, makeStatic: Boolean) extend case op: Option[_] => op map { x => "java.util.Optional.of(" + quote(x) + ")" } getOrElse { "java.util.Optional.empty()" } case url: java.net.URL => "internalAsUrl(%s)" format quote(url.toString) + case uri: java.net.URI => "internalAsUri(%s)" format quote(uri.toString) case file: java.io.File => "new java.io.File(%s)" format quote(file.toString) case attr: sbt.Attributed[_] => quote(attr.data) case date: java.time.LocalDate => "java.time.LocalDate.parse(%s)" format quote(date.toString) diff --git a/src/main/scala/sbtbuildinfo/ScalaRenderer.scala b/src/main/scala/sbtbuildinfo/ScalaRenderer.scala index 77b494d..c1c5636 100644 --- a/src/main/scala/sbtbuildinfo/ScalaRenderer.scala +++ b/src/main/scala/sbtbuildinfo/ScalaRenderer.scala @@ -54,6 +54,7 @@ abstract class ScalaRenderer extends BuildInfoRenderer { case TypeExpression("java.lang.String", Nil) => Some("String") case TypeExpression("java.net.URL", Nil) => Some("java.net.URL") case TypeExpression("sbt.URL", Nil) => Some("java.net.URL") + case TypeExpression("java.net.URI", Nil) => Some("java.net.URI") case TypeExpression("java.io.File", Nil) => Some("java.io.File") case TypeExpression("sbt.File", Nil) => Some("java.io.File") case TypeExpression("scala.xml.NodeSeq", Nil) => Some("scala.xml.NodeSeq") @@ -106,6 +107,7 @@ abstract class ScalaRenderer extends BuildInfoRenderer { case seq: collection.Seq[_] => seq.map(quote).mkString("scala.collection.immutable.Seq(", ", ", ")") case op: Option[_] => op map { x => "scala.Some(" + quote(x) + ")" } getOrElse {"scala.None"} case url: java.net.URL => "new java.net.URI(%s).toURL" format quote(url.toString) + case uri: java.net.URI => "new java.net.URI(%s)" format quote(uri.toString) case file: java.io.File => "new java.io.File(%s)" format quote(file.toString) case attr: sbt.Attributed[_] => quote(attr.data) case date: java.time.LocalDate => "java.time.LocalDate.parse(%s)" format quote(date.toString) diff --git a/src/sbt-test/sbt-buildinfo/append/test b/src/sbt-test/sbt-buildinfo/append/test index be2f9e2..61f876e 100644 --- a/src/sbt-test/sbt-buildinfo/append/test +++ b/src/sbt-test/sbt-buildinfo/append/test @@ -1,4 +1,4 @@ > compile -# $ exists target/scala-2.12/src_managed/main/sbt-buildinfo/BuildInfo.scala +$ exists target/**/src_managed/main/sbt-buildinfo/BuildInfo.scala > check diff --git a/src/sbt-test/sbt-buildinfo/buildtime/test b/src/sbt-test/sbt-buildinfo/buildtime/test index be2f9e2..61f876e 100644 --- a/src/sbt-test/sbt-buildinfo/buildtime/test +++ b/src/sbt-test/sbt-buildinfo/buildtime/test @@ -1,4 +1,4 @@ > compile -# $ exists target/scala-2.12/src_managed/main/sbt-buildinfo/BuildInfo.scala +$ exists target/**/src_managed/main/sbt-buildinfo/BuildInfo.scala > check diff --git a/src/sbt-test/sbt-buildinfo/caching/test b/src/sbt-test/sbt-buildinfo/caching/test index afa13c9..b4a4161 100644 --- a/src/sbt-test/sbt-buildinfo/caching/test +++ b/src/sbt-test/sbt-buildinfo/caching/test @@ -1,5 +1,5 @@ > compile -# $ exists target/scala-2.12/src_managed/main/sbt-buildinfo/BuildInfo.scala +$ exists target/**/src_managed/main/sbt-buildinfo/BuildInfo.scala > check # $ copy-file target/scala-2.12/src_managed/main/sbt-buildinfo/BuildInfo.scala target/BuildInfo.scala > compile diff --git a/src/sbt-test/sbt-buildinfo/caseclassrenderer/build.sbt b/src/sbt-test/sbt-buildinfo/caseclassrenderer/build.sbt index 2e50009..20c1410 100644 --- a/src/sbt-test/sbt-buildinfo/caseclassrenderer/build.sbt +++ b/src/sbt-test/sbt-buildinfo/caseclassrenderer/build.sbt @@ -51,8 +51,8 @@ lazy val root = (project in file(".")) projectVer :: """ scalaVersion: String,""" :: """ ivyXML: scala.xml.NodeSeq,""" :: - """ homepage: scala.Option[java.net.URL],""" :: - """ licenses: scala.collection.immutable.Seq[(String, java.net.URL)],""" :: + homepageComment :: + homepageCode :: apiMappingsDecl :: """ isSnapshot: scala.Boolean,""" :: """ year: scala.Int,""" :: @@ -107,8 +107,8 @@ lazy val root = (project in file(".")) """ projectVersion = 0.1,""" :: """ scalaVersion = "2.12.12",""" :: """ ivyXML = scala.xml.NodeSeq.Empty,""" :: - """ homepage = scala.Some(new java.net.URI("http://example.com").toURL),""" :: - """ licenses = scala.collection.immutable.Seq(("MIT License" -> new java.net.URI("https://github.com/sbt/sbt-buildinfo/blob/master/LICENSE").toURL)),""" :: + homepage :: + licenses :: """ apiMappings = Map(),""" :: """ isSnapshot = false,""" :: """ year = 2012,""" :: @@ -120,7 +120,7 @@ lazy val root = (project in file(".")) """ val get = apply()""" :: """ val value = apply()""" :: """}""" :: - """// $COVERAGE-ON$""" :: Nil if (targetInfo contains "target = new java.io.File(") && + """// $COVERAGE-ON$""" :: Nil if (targetInfo.contains("target = new java.io.File(")) && (apiMappingsDecl.contains("apiMappings")) => case _ => sys.error("unexpected output: \n" + lines.mkString("\n")) } diff --git a/src/sbt-test/sbt-buildinfo/caseclassrenderer/test b/src/sbt-test/sbt-buildinfo/caseclassrenderer/test index be2f9e2..61f876e 100644 --- a/src/sbt-test/sbt-buildinfo/caseclassrenderer/test +++ b/src/sbt-test/sbt-buildinfo/caseclassrenderer/test @@ -1,4 +1,4 @@ > compile -# $ exists target/scala-2.12/src_managed/main/sbt-buildinfo/BuildInfo.scala +$ exists target/**/src_managed/main/sbt-buildinfo/BuildInfo.scala > check diff --git a/src/sbt-test/sbt-buildinfo/constantvalue/build.sbt b/src/sbt-test/sbt-buildinfo/constantvalue/build.sbt index f951b5f..d551281 100644 --- a/src/sbt-test/sbt-buildinfo/constantvalue/build.sbt +++ b/src/sbt-test/sbt-buildinfo/constantvalue/build.sbt @@ -57,10 +57,10 @@ lazy val root = (project in file(".")). scalaVersionInfo :: """ /** The value is scala.xml.NodeSeq.Empty. */""" :: """ val ivyXML: scala.xml.NodeSeq = scala.xml.NodeSeq.Empty""" :: - """ /** The value is scala.Some(new java.net.URI("http://example.com").toURL). */""" :: - """ val homepage: scala.Option[java.net.URL] = scala.Some(new java.net.URI("http://example.com").toURL)""" :: - """ /** The value is scala.collection.immutable.Seq(("MIT License" -> new java.net.URI("https://github.com/sbt/sbt-buildinfo/blob/master/LICENSE").toURL)). */""" :: - """ val licenses: scala.collection.immutable.Seq[(String, java.net.URL)] = scala.collection.immutable.Seq(("MIT License" -> new java.net.URI("https://github.com/sbt/sbt-buildinfo/blob/master/LICENSE").toURL))""" :: + homepageComment :: + homepageCode :: + licenseComment :: + licenseCode :: """ /** The value is Map(). */""" :: apiMappingsCode :: """ /** The value is false. */""" :: @@ -85,8 +85,8 @@ lazy val root = (project in file(".")). """ )""" :: """ }""" :: """}""" :: - """// $COVERAGE-ON$""" :: Nil if (targetInfo contains "target: java.io.File = new java.io.File(") && - (scalaVersionInfo.trim == s"""final val scalaVersion = "$sv"""") => () + """// $COVERAGE-ON$""" :: Nil if targetInfo.contains("target: java.io.File = new java.io.File(") && + (scalaVersionInfo.trim == s"""final val scalaVersion = "$sv"""") => () case _ => sys.error("unexpected output: \n" + lines.mkString("\n")) } () diff --git a/src/sbt-test/sbt-buildinfo/constantvalue/test b/src/sbt-test/sbt-buildinfo/constantvalue/test index c5d3a40..61f876e 100644 --- a/src/sbt-test/sbt-buildinfo/constantvalue/test +++ b/src/sbt-test/sbt-buildinfo/constantvalue/test @@ -1,4 +1,4 @@ > compile -# $ exists target/scala-2.13/src_managed/main/sbt-buildinfo/BuildInfo.scala +$ exists target/**/src_managed/main/sbt-buildinfo/BuildInfo.scala > check diff --git a/src/sbt-test/sbt-buildinfo/javasingletonrenderer/build.sbt b/src/sbt-test/sbt-buildinfo/javasingletonrenderer/build.sbt index 1aba457..a87f9b2 100644 --- a/src/sbt-test/sbt-buildinfo/javasingletonrenderer/build.sbt +++ b/src/sbt-test/sbt-buildinfo/javasingletonrenderer/build.sbt @@ -53,10 +53,10 @@ lazy val root = (project in file(".")) """ public final String name = "helloworld";""" :: """ /** The value is "2.12.12". */""" :: """ public final String scalaVersion = "2.12.12";""" :: - """ /** The value is java.util.Optional.of(internalAsUrl("http://example.com")). */""" :: - """ public final java.util.Optional homepage = java.util.Optional.of(internalAsUrl("http://example.com"));""" :: - """ /** The value is java.util.Collections.unmodifiableList(java.util.Arrays.asList(new java.util.AbstractMap.SimpleImmutableEntry<>("MIT License", internalAsUrl("https://github.com/sbt/sbt-buildinfo/blob/master/LICENSE")))). */""" :: - """ public final java.util.Collection> licenses = java.util.Collections.unmodifiableList(java.util.Arrays.asList(new java.util.AbstractMap.SimpleImmutableEntry<>("MIT License", internalAsUrl("https://github.com/sbt/sbt-buildinfo/blob/master/LICENSE"))));""" :: + homepageComment :: + homepageCode :: + licensesComment :: + licensesCode :: """ /** The value is internalAsMap(). */""" :: apiMappingsCode :: """ /** The value is false. */""" :: @@ -105,6 +105,14 @@ lazy val root = (project in file(".")) """ }""" :: """ }""" :: """""" :: + """ private static java.net.URI internalAsUri(String uriString) {""" :: + """ try {""" :: + """ return new java.net.URI(uriString);""" :: + """ } catch (Exception e) {""" :: + """ return null;""" :: + """ }""" :: + """ }""" :: + """""" :: """ @SuppressWarnings({"unchecked", "rawtypes"})""" :: """ private static java.util.Map internalAsMap(java.util.Map.Entry... entries) {""" :: """ java.util.Map m = new java.util.HashMap<>();""" :: @@ -151,7 +159,8 @@ lazy val root = (project in file(".")) """""" :: """ public final String toJson = toJsonValue(toMap());""" :: """}""" :: - """// $COVERAGE-ON$""" :: Nil if ((targetInfo contains "public final java.io.File target = new java.io.File(") && (targetInfoComment contains "/** The value is new java.io.File(")) => + """// $COVERAGE-ON$""" :: Nil if targetInfo.contains("target = new java.io.File(") && + targetInfoComment.contains("/** The value is new java.io.File(") => () case _ => sys.error("unexpected output: \n" + lines.mkString("\n")) } () diff --git a/src/sbt-test/sbt-buildinfo/javasingletonrenderer/test b/src/sbt-test/sbt-buildinfo/javasingletonrenderer/test index 070eac4..f8d3436 100644 --- a/src/sbt-test/sbt-buildinfo/javasingletonrenderer/test +++ b/src/sbt-test/sbt-buildinfo/javasingletonrenderer/test @@ -1,4 +1,5 @@ > compile -# $ exists target/src_managed/main/sbt-buildinfo/BuildInfo.java +# > show Compile/sources +# $ exists target/**/src_managed/main/sbt-buildinfo/BuildInfo.java > check diff --git a/src/sbt-test/sbt-buildinfo/javastaticfieldsrenderer/build.sbt b/src/sbt-test/sbt-buildinfo/javastaticfieldsrenderer/build.sbt index ebb9288..4a474f0 100644 --- a/src/sbt-test/sbt-buildinfo/javastaticfieldsrenderer/build.sbt +++ b/src/sbt-test/sbt-buildinfo/javastaticfieldsrenderer/build.sbt @@ -51,10 +51,10 @@ lazy val root = (project in file(".")) """ public static final String name = "helloworld";""" :: """ /** The value is "2.12.12". */""" :: """ public static final String scalaVersion = "2.12.12";""" :: - """ /** The value is java.util.Optional.of(internalAsUrl("http://example.com")). */""" :: - """ public static final java.util.Optional homepage = java.util.Optional.of(internalAsUrl("http://example.com"));""" :: - """ /** The value is java.util.Collections.unmodifiableList(java.util.Arrays.asList(new java.util.AbstractMap.SimpleImmutableEntry<>("MIT License", internalAsUrl("https://github.com/sbt/sbt-buildinfo/blob/master/LICENSE")))). */""" :: - """ public static final java.util.Collection> licenses = java.util.Collections.unmodifiableList(java.util.Arrays.asList(new java.util.AbstractMap.SimpleImmutableEntry<>("MIT License", internalAsUrl("https://github.com/sbt/sbt-buildinfo/blob/master/LICENSE"))));""" :: + homepageComment :: + homepageCode :: + licensesComment :: + licensesCode :: """ /** The value is internalAsMap(). */""" :: apiMappingsCode :: """ /** The value is false. */""" :: @@ -103,6 +103,14 @@ lazy val root = (project in file(".")) """ }""" :: """ }""" :: """""" :: + """ private static java.net.URI internalAsUri(String uriString) {""" :: + """ try {""" :: + """ return new java.net.URI(uriString);""" :: + """ } catch (Exception e) {""" :: + """ return null;""" :: + """ }""" :: + """ }""" :: + """""" :: """ @SuppressWarnings({"unchecked", "rawtypes"})""" :: """ private static java.util.Map internalAsMap(java.util.Map.Entry... entries) {""" :: """ java.util.Map m = new java.util.HashMap<>();""" :: @@ -149,7 +157,8 @@ lazy val root = (project in file(".")) """""" :: """ public static final String makeJson = toJsonValue(makeMap());""" :: """}""" :: - """// $COVERAGE-ON$""" :: Nil if ((targetInfo contains "public static final java.io.File target = new java.io.File(") && (targetInfoComment contains "/** The value is new java.io.File(")) => + """// $COVERAGE-ON$""" :: Nil if targetInfo.contains("target = new java.io.File(") && + targetInfoComment.contains("/** The value is new java.io.File(") => () case _ => sys.error("unexpected output: \n" + lines.mkString("\n")) } () diff --git a/src/sbt-test/sbt-buildinfo/multi/build.sbt b/src/sbt-test/sbt-buildinfo/multi/build.sbt index b4ff74d..0aa8320 100644 --- a/src/sbt-test/sbt-buildinfo/multi/build.sbt +++ b/src/sbt-test/sbt-buildinfo/multi/build.sbt @@ -39,7 +39,7 @@ lazy val app = (project in file("app")) projectIdCode :: // project id changed in sbt 2.x """ /** The value is "0.1". */""" :: """ val version: String = "0.1"""" :: - """ /** The value is new java.net.URI("http://example.com").toURL. */""" :: + homepageComment :: homepageCode :: scalaVersionInfoComment :: scalaVersionInfo :: diff --git a/src/sbt-test/sbt-buildinfo/simple/build.sbt b/src/sbt-test/sbt-buildinfo/simple/build.sbt index d5d194b..d43a933 100644 --- a/src/sbt-test/sbt-buildinfo/simple/build.sbt +++ b/src/sbt-test/sbt-buildinfo/simple/build.sbt @@ -57,9 +57,9 @@ lazy val root = (project in file(".")) scalaVersionInfo :: """ /** The value is scala.xml.NodeSeq.Empty. */""" :: """ val ivyXML: scala.xml.NodeSeq = scala.xml.NodeSeq.Empty""" :: - """ /** The value is scala.Some(new java.net.URI("http://example.com").toURL). */""" :: - """ val homepage: scala.Option[java.net.URL] = scala.Some(new java.net.URI("http://example.com").toURL)""" :: - """ /** The value is scala.collection.immutable.Seq(("MIT License" -> new java.net.URI("https://github.com/sbt/sbt-buildinfo/blob/master/LICENSE").toURL)). */""" :: + homepageComment :: + homepageCode :: + licenseComment :: licensesCode :: """ /** The value is Map(). */""" :: apiMappingsCode :: @@ -83,10 +83,10 @@ lazy val root = (project in file(".")) """ )""" :: """ }""" :: """}""" :: - """// $COVERAGE-ON$""" :: Nil if (targetInfo contains "val target: java.io.File = new java.io.File(") && - (scalaVersionInfo.trim == s"""val scalaVersion: String = "$sv"""") && - (someCpInfo.contains("/tmp/f.txt")) && - (projectVer.contains("val projectVersion")) => () + """// $COVERAGE-ON$""" :: Nil if targetInfo.contains("target: java.io.File = new java.io.File(") && + (scalaVersionInfo.trim == s"""val scalaVersion: String = "$sv"""") && + (someCpInfo.contains("/tmp/f.txt")) && + (projectVer.contains("val projectVersion")) => () case _ => sys.error("unexpected output: \n" + lines.mkString("\n")) } () diff --git a/src/sbt-test/sbt-buildinfo/skipimportscaseclass/build.sbt b/src/sbt-test/sbt-buildinfo/skipimportscaseclass/build.sbt index 4d110d9..04c598d 100644 --- a/src/sbt-test/sbt-buildinfo/skipimportscaseclass/build.sbt +++ b/src/sbt-test/sbt-buildinfo/skipimportscaseclass/build.sbt @@ -45,8 +45,8 @@ lazy val root = (project in file(".")) """ name: String,""" :: """ scalaVersion: String,""" :: """ ivyXML: scala.xml.NodeSeq,""" :: - """ homepage: scala.Option[java.net.URL],""" :: - """ licenses: scala.collection.immutable.Seq[(String, java.net.URL)],""" :: + homagepageCode :: + licensesCode :: apiMappingsCode :: """ isSnapshot: scala.Boolean,""" :: """ year: scala.Int,""" :: @@ -95,8 +95,8 @@ lazy val root = (project in file(".")) """ name = "helloworld",""" :: """ scalaVersion = "2.12.12",""" :: """ ivyXML = scala.xml.NodeSeq.Empty,""" :: - """ homepage = scala.Some(new java.net.URI("http://example.com").toURL),""" :: - """ licenses = scala.collection.immutable.Seq(("MIT License" -> new java.net.URI("https://github.com/sbt/sbt-buildinfo/blob/master/LICENSE").toURL)),""" :: + homagepageApply :: + licensesApply :: """ apiMappings = Map(),""" :: """ isSnapshot = false,""" :: """ year = 2012,""" :: @@ -106,7 +106,7 @@ lazy val root = (project in file(".")) """ val get = apply()""" :: """ val value = apply()""" :: """}""" :: - """// $COVERAGE-ON$""" :: Nil if (targetInfo contains "target = new java.io.File(") => + """// $COVERAGE-ON$""" :: Nil if targetInfo.contains("target = new java.io.File(") => () case _ => sys.error("unexpected output: \n" + lines.mkString("\n")) } () diff --git a/src/sbt-test/sbt-buildinfo/skipimportscaseclass/test b/src/sbt-test/sbt-buildinfo/skipimportscaseclass/test index be2f9e2..61f876e 100644 --- a/src/sbt-test/sbt-buildinfo/skipimportscaseclass/test +++ b/src/sbt-test/sbt-buildinfo/skipimportscaseclass/test @@ -1,4 +1,4 @@ > compile -# $ exists target/scala-2.12/src_managed/main/sbt-buildinfo/BuildInfo.scala +$ exists target/**/src_managed/main/sbt-buildinfo/BuildInfo.scala > check diff --git a/src/sbt-test/sbt-buildinfo/skipimportscaseobject/test b/src/sbt-test/sbt-buildinfo/skipimportscaseobject/test index 3eded65..dcff9b7 100644 --- a/src/sbt-test/sbt-buildinfo/skipimportscaseobject/test +++ b/src/sbt-test/sbt-buildinfo/skipimportscaseobject/test @@ -1,5 +1,5 @@ > compile -# $ exists target/scala-2.12/src_managed/main/sbt-buildinfo/BuildInfo.scala +$ exists target/**/src_managed/main/sbt-buildinfo/BuildInfo.scala > check diff --git a/src/sbt-test/sbt-buildinfo/usepackageaspath/build.sbt b/src/sbt-test/sbt-buildinfo/usepackageaspath/build.sbt index 266fb2e..fe58e3f 100644 --- a/src/sbt-test/sbt-buildinfo/usepackageaspath/build.sbt +++ b/src/sbt-test/sbt-buildinfo/usepackageaspath/build.sbt @@ -47,10 +47,10 @@ lazy val root = (project in file(".")) """ val scalaVersion: String = "2.12.12"""" :: """ /** The value is scala.xml.NodeSeq.Empty. */""" :: """ val ivyXML: scala.xml.NodeSeq = scala.xml.NodeSeq.Empty""" :: - """ /** The value is scala.Some(new java.net.URI("http://example.com").toURL). */""" :: - """ val homepage: scala.Option[java.net.URL] = scala.Some(new java.net.URI("http://example.com").toURL)""" :: - """ /** The value is scala.collection.immutable.Seq(("MIT License" -> new java.net.URI("https://github.com/sbt/sbt-buildinfo/blob/master/LICENSE").toURL)). */""" :: - """ val licenses: scala.collection.immutable.Seq[(String, java.net.URL)] = scala.collection.immutable.Seq(("MIT License" -> new java.net.URI("https://github.com/sbt/sbt-buildinfo/blob/master/LICENSE").toURL))""" :: + homepageComment :: + homepageCode :: + licensesComment :: + licensesCode :: """ /** The value is Map(). */""" :: apiMappingsCode :: """ /** The value is false. */""" :: @@ -69,7 +69,7 @@ lazy val root = (project in file(".")) """ )""" :: """ }""" :: """}""" :: - """// $COVERAGE-ON$""" :: Nil if (targetInfo contains "val target: java.io.File = new java.io.File(") => + """// $COVERAGE-ON$""" :: Nil if targetInfo.contains("target: java.io.File = new java.io.File(") => () case _ => sys.error("unexpected output: \n" + lines.mkString("\n")) } () diff --git a/src/sbt-test/sbt-buildinfo/usepackageaspath/test b/src/sbt-test/sbt-buildinfo/usepackageaspath/test index 19b7e14..33c3621 100644 --- a/src/sbt-test/sbt-buildinfo/usepackageaspath/test +++ b/src/sbt-test/sbt-buildinfo/usepackageaspath/test @@ -1,4 +1,4 @@ > compile -# $ exists target/scala-2.12/src_managed/main/foo/bar/baz/BuildInfo.scala +$ exists target/**/src_managed/main/foo/bar/baz/BuildInfo.scala > check