Что вам нужно, это возвращаемое значение compile:package
.
Запустите sbt "show compile:package"
, чтобы увидеть, что он печатает полный путь к артефакту, который вы строите.
Если вам просто нужен путь без создания артефакта, выполните sbt "show Compile / packageBin / artifactPath"
Чтобы использовать это значение в build.sbt
, вы должны определить task
или setting
, как это
val targetFile = taskKey[File]("shows target file")
targetFile := {
val path = artifactPath.in(packageBin).in(Compile).value
//same as val path = (Compile / packageBin / artifactPath).value
streams.value.log.info(path.toPath.toString)
path
}
Значение любой задачи в sbt нельзя напрямую присвоить значению типаval someFile: File
.Вы должны написать свою собственную логику с точки зрения настроек и задач.