From e2124eb941c853c87c517efa4e6aff62e2009f47 Mon Sep 17 00:00:00 2001 From: Jiuyang Liu Date: Wed, 21 Jun 2023 03:22:57 +0800 Subject: [PATCH 1/2] Fix buildinfo compile in mill --- build.sc | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/build.sc b/build.sc index f69d616330f..345995e1906 100644 --- a/build.sc +++ b/build.sc @@ -3,8 +3,6 @@ import mill.scalalib._ import mill.scalalib.publish._ import mill.scalalib.scalafmt._ import coursier.maven.MavenRepository -import $ivy.`com.lihaoyi::mill-contrib-buildinfo:$MILL_VERSION` -import mill.contrib.buildinfo.BuildInfo object chisel3 extends mill.Cross[chisel3CrossModule]("2.13.10", "2.12.17") @@ -89,7 +87,7 @@ trait CommonModule extends CrossSbtModule with PublishModule with ScalafmtModule ) } -class chisel3CrossModule(val crossScalaVersion: String) extends CommonModule with BuildInfo { +class chisel3CrossModule(val crossScalaVersion: String) extends CommonModule { m => /** Default behavior assumes `build.sc` in the upper path of `src`. @@ -145,16 +143,6 @@ class chisel3CrossModule(val crossScalaVersion: String) extends CommonModule wit override def moduleDeps = super.moduleDeps ++ Seq(stdlib) ++ chiseltestModule } - override def buildInfoPackageName = Some("chisel3") - - override def buildInfoMembers = T { - Map( - "buildInfoPackage" -> artifactName(), - "version" -> publishVersion(), - "scalaVersion" -> scalaVersion() - ) - } - object macros extends CommonModule { /** millOuterCtx.segment.pathSegments didn't detect error here. */ @@ -187,10 +175,30 @@ class chisel3CrossModule(val crossScalaVersion: String) extends CommonModule wit "-Xlint:infer-any" ) } + private def generateBuildInfo = T { + val outputFile = T.dest / "BuildInfo.scala" + val contents = + s""" + |package chisel3 + |case object BuildInfo { + | val buildInfoPackage: String = "chisel3" + | val version: String = "1.6.X" + | val scalaVersion: String = "${scalaVersion()}" + | val firtoolVersion: scala.Option[String] = None + | override val toString: String = { + | "buildInfoPackage: %s, version: %s, scalaVersion: %s, firtoolVersion %s".format( + | buildInfoPackage, version, scalaVersion, firtoolVersion + | ) + | } + |} + |""".stripMargin + os.write(outputFile, contents, createFolders = true) + PathRef(T.dest) + } - override def generatedSources = T { - Seq(generatedBuildInfo()._2) - } + override def generatedSources = T { + super.generatedSources() :+ generateBuildInfo() + } } object plugin extends CommonModule { From 391b6f642173c39201c0f4396441c9ead449d52e Mon Sep 17 00:00:00 2001 From: Jiuyang Liu Date: Wed, 21 Jun 2023 04:04:44 +0800 Subject: [PATCH 2/2] Update build.sc Co-authored-by: Jack Koenig --- build.sc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sc b/build.sc index 345995e1906..43cfcec697b 100644 --- a/build.sc +++ b/build.sc @@ -182,7 +182,7 @@ class chisel3CrossModule(val crossScalaVersion: String) extends CommonModule { |package chisel3 |case object BuildInfo { | val buildInfoPackage: String = "chisel3" - | val version: String = "1.6.X" + | val version: String = "${publishVersion()}" | val scalaVersion: String = "${scalaVersion()}" | val firtoolVersion: scala.Option[String] = None | override val toString: String = {