Sbt задание оценивается только один раз - PullRequest
0 голосов
/ 30 мая 2018
def updateSnap = Command.command("updateSnap") { state =>
  import scala.concurrent.duration._
  val extracted = Project.extract(state)
  import extracted._
  runTask(
    update,
    appendWithSession(Seq(coursierTtl := None), state)
  )
  state
}

Я определил команду, которая запускается update с coursierTtl := None

И она отлично работает в первый раз (при каждом запуске sbt).

Но когда я-запустите эту команду:

[xxx] $ updateSnap
[info] Set current project to xxx (in build file:/home/xxx/xxx)

Кажется, задача была кэширована, как я могу это исправить?

1 Ответ

0 голосов
/ 30 мая 2018

Я могу подтвердить то же поведение на моей машине с SBT 1.1.1 и Coursier 1.0.3.Один из вариантов - clean до update:

def updateSnap = Command.command("updateSnap") { state =>
  import scala.concurrent.duration._
  val extracted = Project.extract(state)
  import extracted._
  runTask(clean, state)
  runTask(
    update,
    appendWithSession(Seq(coursierTtl := Some(0.seconds)), state)
  )
  state
}

Это приводит к повторному извлечению SNAPSHOT артефактов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...