설정의 값을 얻고 (예 : name
) fullRunTask
의 인수로 전달하려면 어떻게해야합니까? fullRunTask
의 구현을 이해할 수 없습니다. 예를 들어fullRunTask에서 인수로 sbt 설정을 전달하십시오.
:이 상황에서 name.value
을 참조 할 수 없기 때문에
lazy val foo = TaskKey[Unit]("foo")
fullRunTask(foo, Compile, "foo.Foo", name.value)
설정의 값을 얻고 (예 : name
) fullRunTask
의 인수로 전달하려면 어떻게해야합니까? fullRunTask
의 구현을 이해할 수 없습니다. 예를 들어fullRunTask에서 인수로 sbt 설정을 전달하십시오.
:이 상황에서 name.value
을 참조 할 수 없기 때문에
lazy val foo = TaskKey[Unit]("foo")
fullRunTask(foo, Compile, "foo.Foo", name.value)
좋아, 조쉬 수 에르에게서 도움을 받았어. fullRunTask
으로이 작업을 수행하는 것은 다소 복잡하지만 추가 작업 (추가는 runner in myTask
)이 실제로 필요하지 않습니다. runTask
의 몸을 인라인하여 필요한 것을했습니다.
lazy val myTask = taskKey[Unit]("my custom run task")
myTask := {
val r = (runner in Compile).value
val input = name.value // or any other string setting(s)
val cp = (fullClasspath in Compile).value
toError(r.run("my.MainClass", data(cp), Seq(input), streams.value.log))
}
그것을 달성하는 유일한 방법은 '값'으로 값에 액세스 할 수있는 사용자 정의 태스크를 사용하는 것입니다. 나는이 제안으로 답변했지만, 내가 늦었을 것임을 알았다. :) –
또한 "import sbt.Attributed.data"가져 오기를 추가하여 범위에 "데이터"를 가져와야합니다. –
달성하고자하는 것은 무엇입니까? 나는 그 질문을 이해하지 못한다. 실행할 수 있기를 원하는 코드를 보여줄 수 있습니까?하지만 SBT에 대한 지식이 있으면 불가능합니다. –
@JacekLaskowski 위의 편집을 참조하십시오. – tpolecat
'fullRunTask'에 무엇이 필요합니까? –