From 306df495950cce8667daa369f2c38ebd80f234ce Mon Sep 17 00:00:00 2001 From: Tobias Roeser Date: Mon, 18 Feb 2019 09:11:00 +0100 Subject: Added log statement to BuildInfo generator --- contrib/buildinfo/src/BuildInfo.scala | 41 +++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 19 deletions(-) (limited to 'contrib') diff --git a/contrib/buildinfo/src/BuildInfo.scala b/contrib/buildinfo/src/BuildInfo.scala index 1c8d9d9e..0b63cbf1 100644 --- a/contrib/buildinfo/src/BuildInfo.scala +++ b/contrib/buildinfo/src/BuildInfo.scala @@ -2,9 +2,8 @@ package mill.contrib import mill.T import mill.define.Target -import mill.api.PathRef +import mill.api.{Ctx, Logger, PathRef} import mill.scalalib.ScalaModule -import mill.api.Ctx trait BuildInfo extends ScalaModule { @@ -16,29 +15,33 @@ trait BuildInfo extends ScalaModule { Map.empty[String, String] } - private def generateBuildInfo(members: Map[String, Any])(implicit dest: Ctx.Dest): Seq[PathRef] = - if(!members.isEmpty){ - val outputFile = dest.dest / "BuildInfo.scala" - val internalMembers = - members - .map { - case (name, value) => s""" def ${name} = "${value}"""" - } - .mkString("\n") - os.write(outputFile, - s"""|${buildInfoPackageName.map(p => s"package ${p}").getOrElse("")} + private def generateBuildInfo(members: Map[String, Any])(implicit dest: Ctx.Dest, log: Ctx.Log): Seq[PathRef] = + if (!members.isEmpty) { + val outputFile = dest.dest / "BuildInfo.scala" + val internalMembers = + members + .map { + case (name, value) => s""" def ${name} = "${value}"""" + } + .mkString("\n") + log.log.debug(s"Generating object [${buildInfoPackageName.map(_ + ".").getOrElse("")}${buildInfoObjectName}] with [${members.size}] members to [${outputFile}]") + os.write( + outputFile, + s"""|${buildInfoPackageName.map(p => s"package ${p}").getOrElse("")} |object ${buildInfoObjectName} { |$internalMembers - |}""".stripMargin) - Seq(PathRef(outputFile)) - } else { - Seq.empty[PathRef] - } + |}""".stripMargin + ) + Seq(PathRef(outputFile)) + } else { + log.log.debug("No build info member defined, skipping code generation") + Seq.empty[PathRef] + } def buildInfo = T { generateBuildInfo(buildInfoMembers()) } - override def generatedSources: Target[Seq[PathRef]] = super.generatedSources() ++ buildInfo() + override def generatedSources: Target[Seq[PathRef]] = T { super.generatedSources() ++ buildInfo() } } -- cgit v1.2.3