SBT зависит от использования - миграция с 0,12 до 0,13

У меня есть такая команда в build.sbt

run <<= (run in Compile) dependsOn npmBuildTask

Согласно документации<<= устарела, поэтому я хочу использовать:= этот. Я пробовал с;

run in Compile := ((run in Compile).dependsOn(npmBuildTask).value)
run in Compile := (run in Compile).dependsOn(npmBuildTask).value
run in Compile := run.dependsOn(npmBuildTask).value

Но все они не работают для меня. Не могли бы вы мне помочь?

1 ответ

Решение

Наконец я нашел решение.

compile := ((compile in Compile) dependsOn npmBuildTask).value

Это работает для меня. Проблема была в следующем коде:

run := ((run in Compile) dependsOn npmBuildTask).value

скомпилировать и запустить разные. compile имеет тип возвращаемого значения sbt.TaskKey[sbt.inc.Analysis], а run имеет тип возвращаемого значения sbt.InputKey[scala.Unit]. Из-за этого вы должны использовать эту команду:

run := ((run in Compile) dependsOn npmBuildTask).evaluated

Теперь все работает нормально.

Другие вопросы по тегам