4

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
}

isDevTask[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

これを行う正しい方法は何ですか?

4

1 に答える 1