我在SBT中实现了一个运行一些外部Java类的自定义任务。我使用runner
任务来完成它。
myCustomTask := {
val mainClass: String = ???
val classpath: Seq[File] = ???
val options: Seq[String] = ???
runner.value.run(mainClass, classpath, options, streams.value.log)
}
我想配置此任务,以便它在单独的JVM中运行。通常,这是使用fork
选项配置的,然后由runner
任务引用。
我只想为我的自定义任务配置fork。我试过这样做:
fork in myCustomTask := true
但它不起作用。 runner
任务仍然保持fork
的未更改值。
我还尝试使用(runner in myCustomTask)
而不仅仅是runner
来调整任务本身,但这也无济于事。
如何仅为fork
将true
设为myCustomTask
?
答案 0 :(得分:3)
我终于解决了这样的问题:
fork in myCustomTask := true,
myCustomTask := {
val mainClass: String = ???
val classpath: Seq[File] = ???
val options: Seq[String] = ???
val runner = initScoped(myCustomTask.scopedKey, Defaults.runnerInit).value
runner.run(mainClass, classpath, options, streams.value.log)
}
答案 1 :(得分:1)
使用fullRunTask
select top 10 convert(varchar(30),o.name) AS table_name,
row_count(db_id(), o.id) AS row_count,
data_pages(db_id(), o.id, 0) AS pages,
data_pages(db_id(), o.id, 0) * (@@maxpagesize/1024) AS kbs
from sysobjects o
where type = 'U'
order by kbs DESC, table_name ASC