Выполнение «run» в контексте подпроекта по умолчанию в 0.13.x - PullRequest
0 голосов
/ 07 ноября 2018

Я имел обыкновение использовать следующее в моем файле build.sbt, чтобы позволить мне выполнить команду run в моем проекте root, но команда запуска будет выполняться только в контексте моего migrations проект:

lazy val root = project.dependsOn(rest,migrations).settings(publish := { }).disablePlugins(RevolverPlugin, AssemblyPlugin)
lazy val rest = project.enablePlugins(BuildInfoPlugin)
lazy val migrations = project.dependsOn(rest).settings(mainClass in (Compile, run) := Some("com.myapp.Migrations"), fork in run := true).disablePlugins(RevolverPlugin)

run in Compile <<= (run in Compile in migrations)

Я бы тогда выполнил run так:

> run up

(p.s. up - аргумент для передачи com.myapp.Migrations)

Однако при обновлении до sbt v0.13.17 я теперь получаю предупреждение:

See http://www.scala-sbt.org/0.13/docs/Migrating-from-sbt-012x.html
run in Compile <<= (run in Compile in migrations)

В указанном URL-адресе, похоже, указано, что я могу заменить <<= на :=, однако, если я изменю его следующим образом:

run in Compile := (run in Compile in migrations)

И тогда я набираю run up в sbt, я получаю ошибку:

[error] Expected ID character
[error] Not a valid command: run (similar: plugin, new)
[error] Expected project ID
[error] Expected configuration
[error] Expected ':' (if selecting a configuration)
[error] Expected key
[error] Expected '::'
[error] Expected end of input.
[error] run up
[error]    ^

Кто-нибудь знает, как я могу обновить вышеупомянутую строку, чтобы она соответствовала 0.13.x и все еще работала, как и ожидалось?

1 Ответ

0 голосов
/ 09 ноября 2018

См. https://www.scala -sbt.org / 0.13 / docs / Migrating-from-sbt-012x.html # Миграция + с помощью

Миграция с InputKey

При использовании InputKey вместо:

run <<= docsRunSetting

при переносе вы не должны использовать .value, но .evaluated:

run := docsRunSetting.evaluated

В вашем случае попробуйте run in Compile := (run in Compile in migrations).evaluated.

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