This is a Mill module similar to BuildInfo but for Java. It will generate a Java class containing information from your build.
Project home: https://github.com/carueda/mill-jbuildinfo
To declare a module that uses this plugin, extend the
com.github.carueda.mill.JBuildInfo
trait and provide
the desired information via the buildInfoMembers
method:
// build.sc
import $ivy.`com.github.carueda::jbuildinfo::0.2.1`
import com.github.carueda.mill.JBuildInfo
import mill.T
object project extends JBuildInfo {
def buildInfoMembers: T[Map[String, String]] = T {
Map(
"name" -> "some name",
"version" -> "x.y.z"
)
}
}
This will generate:
// BuildInfo.java
public class BuildInfo {
public static final String getName() { return "some name"; }
public static final String getVersion() { return "x.y.z"; }
}
-
def buildInfoMembers: T[Map[String, String]]
The map containing all member names and values for the generated class.
-
def buildInfoClassName: String
, default:BuildInfo
The name of the class that will contain all the members from
buildInfoMembers
. -
def buildInfoPackageName: Option[String]
, default:None
The package name for the generated class.