I need an sbt file to refer to a setting defined in another file. Basically, I want to define the setting foo and the task bar in separate files:
ThisBuild / scalaVersion := "3.7.3"
lazy val foo = settingKey[Seq[String]]("The foo setting.")
lazy val program = (project in file(".")).settings(
name := "Foo",
foo := Seq("foo")
)
lazy val bar = taskKey[Unit]("The bar task.")
bar := {
println(name.value) // works, even in separate files
println(foo.value) // fails unless everything is in the same sbt file
}
Is there a way to import foo in the file that defines bar? Or to define foo so it’s like name, visible everywhere?