在我的build.sbt中,我希望有一個輸入參數的任務,在我的代碼中調用main
方法,但是我希望在調用方法之前先解析參數。如何將輸入解析器與fullRunInputTask結合?
這是InputKey定義:
val clearDatabase = inputKey[Unit]("Clear database, arguments: endpoint user password")
解析器我想使用:
val databaseTaskParser = sbt.Def.spaceDelimited("endpoint username password").map(_.toList).map {
case List(endpoint) => (endpoint, "", "")
case List(endpoint, username, password) => (endpoint, username, password)
case _ =>
sys.error("Supported arguments: \"endpoint\" or \"endpoint username password\"")
}
然後我知道,輸入參數傳遞給main方法我需要使用fullRunInputTask
與InputKey參數化上面定義:
fullRunInputTask(clearDatabase, Compile, "my.code.ClearDatabaseTask")
現在,我怎麼能結合的C全部爲fullRunInputTask
,使用databaseTaskParser
(在給出錯誤的一組參數時顯示錯誤)甚至在之前調用main
方法?