Как выполнить runMain из пользовательской задачи?

Я использую sbt v0.13.5

в моем проекте я хотел бы иметь задачу sbt, которая может принимать некоторые входные данные (одну строку), выполнять некоторую работу над ней и выплевывать некоторые выходные данные (опять же, одну строку). Я создал вспомогательный класс в моем проекте, который делает это, что я могу позвонить из терминала через sbt runMain (sbt "runMain com.example.utils.ClassName someArgument").

что я хотел бы, чтобы сохранить себе некоторые набрав и иметь задачу sbt, которая делает это. Я хотел бы просто иметь возможность печатать sbt doThing withStuff и taskKey имени doThing что называет runMain С именем класса для запуска и любым аргументом, который был передан.

Я знаю, как создавать задачи, но я не могу понять, как позвонить runMain из пользовательского определения задачи в моей сборке.sbt. Кто-нибудь может указать мне правильное направление?

1 ответов


TaskKey[Unit]("myTask") := (runMain in Compile).toTask(" com.example.Main arg1 arg2").value

runMain это InputTask. InputTask и toTask метод с 0.13.1.