Устанавливать параметр ключа sbt только в определенной команде - PullRequest
0 голосов
/ 12 мая 2018

Допустим, у меня есть SettingKey в одном из моих собственных плагинов SBT:

object MySbtPlugin extends AutoPlugin {
  ...
  object autoImport {
    object MyKeys {
      val task = TaskKey[Seq[File]]("task", "some task")
      val prod = SettingKey[Boolean]("prod", "Only enable when running `stage`.")
    }
  }

  val baseSettings = Seq(
    prod in task := false,

    vuefy in Assets := Def.task {
      val isProd = (prod in task).value
      ...

Теперь я хочу, чтобы prod было:

  • true при работе sbt stage
  • но false при работе sbt run. Это для Playframework.

Я попробовал много комбинаций в своем build.sbt, и они, похоже, не работают. Например:

  • MyKeys.prod in VueKeys.vuefy in Assets := true устанавливает значение независимо; Это не то, что я хочу.
  • MyKeys.prod in VueKeys.vuefy := true не работает. Это действительно смущает меня, почему он даже не устанавливает значение true.
  • MyKeys.prod in VueKeys.vuefy in stage := true не работает.

Не думаю, что я понимаю, как работает область видимости в SBT. Если кто-нибудь сможет мне помочь, это было бы здорово.

Спасибо.

...