gitブランチに依存するプロジェクトバージョンを設定し、現在のメジャーバージョン+開発バージョンの現在の日付と、本番環境のメジャー番号のみを設定したいと考えています。だから私は必要なバージョンを計算するタスクを作成しました:
val projectVersion = taskKey[String]("Compute project version")
projectVersion := {
val v = version.value // get Major version number
val date = new SimpleDateFormat("yyyyMMdd").format(new Date)
if (isDev.value) v + "-" + date
else v
}
isDev
Task[Boolean]
これが非マスター ブランチであるかどうかを示す別のタスクです。
branch := Process("git rev-parse --abbrev-ref HEAD").lines.headOption
isDev := branch.value != "master"
次に、計算されたバージョンをversion
キーに設定しようとしました:
version := Versioning.projectVersion.value
しかし、それは禁じられています:
BuildSettings.scala:15: A setting cannot depend on a task
これを行う正しい方法は何ですか?