запустить команду sbt в рамках подпроекта - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть проект sbt с подпроектами.
Есть 2 способа запустить задачу в конкретном подпроекте c:
1. sbt proj1/compile
2. sbt "project proj1" compile

но если я определю команду, например:

def hello = Command.command("hello") { state =>
  println("Hi!")
  state
}

запуск ее с sbt "project prog1" hello работает,
но когда я запускаю sbt prog1/hello, я получаю следующую ошибку:

[error] Expected ';'
[error] Expected ':'
[error] Not a valid key: hello (similar: shellPrompt)
[error] proj1/hello
[error]                    ^

есть ли причина такого расхождения?
есть ли способ заставить sbt prog1/hello работать?

1 Ответ

0 голосов
/ 11 февраля 2020

Вы можете сделать это, определяя пользовательское задание в настройках проекта:

lazy val customTask = taskKey[Unit]("My custom task")
lazy val `proj1` = project
  .settings(
    customTask:= {println("Hello")}
  )

после того, как вы сможете использовать: sbt prog1 / customTask

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