scala – 确保’重新启动’任务在它之前自动运行:test
发布时间:2020-12-16 18:33:26 所属栏目:安全 来源:网络整理
导读:在运行IntegrationTest目标(it:test)之前,是否可以重新启动(也称为reStart)任务以自动运行? 我以为这样做会: test = (test in IntegrationTest) dependsOn reStart 但是,我收到此错误: build.sbt:54: error: not found: value reStarttest = (test in In
在运行IntegrationTest目标(it:test)之前,是否可以重新启动(也称为reStart)任务以自动运行?
我以为这样做会: test <<= (test in IntegrationTest) dependsOn reStart 但是,我收到此错误: build.sbt:54: error: not found: value reStart test <<= (test in IntegrationTest) dependsOn reStart ^ [error] Type error in expression 通过添加import Revolver._我得到了更多,但它仍然失败.现在我得到了一个更具描述性的错误: build.sbt:55: error: type mismatch; found : sbt.InputKey[spray.revolver.AppProcess] required: sbt.Scoped.AnyInitTask (which expands to) sbt.Def.Initialize[sbt.Task[T]] forSome { type T } test in IntegrationTest <<= (test in IntegrationTest) dependsOn reStart 有没有办法解决这个问题? 解决方法
您可以为此定义特殊的TaskKey类型任务(
working example):
lazy val reStart0 = TaskKey[AppProcess]("re-start-0") lazy val emptyArgs = SettingKey[revolver.Actions.ExtraCmdLineOptions]("empty-args") lazy val projectA = Project( id = "hello-a",base = file("./a"),settings = Project.defaultSettings ++ Revolver.settings ).settings( emptyArgs := revolver.Actions.ExtraCmdLineOptions(Nil,Nil),reStart0 <<= { (streams,Revolver.reLogTag,thisProjectRef,Revolver.reForkOptions,mainClass in Revolver.reStart,fullClasspath in Runtime,Revolver.reStartArgs,emptyArgs) .map(revolver.Actions.restartApp) .dependsOn(products in Compile) } ) lazy val projectB = Project( id = "hello-b",base = file("./b"),settings = Project.defaultSettings ++ Revolver.settings ++ Defaults.itSettings) .configs(IntegrationTest) .settings( test in (IntegrationTest) <<= (test in IntegrationTest).dependsOn(reStart0 in projectA) ) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |