Tôi đang sử dụng SBT với Play Framework.Cách đính kèm tác vụ tùy chỉnh để thực thi trước khi thực hiện nhiệm vụ kiểm tra trong sbt?
Tôi tạo ra một phong tục TaskKey
chạy JavaScript kiểm tra trong dự án của tôi:
import sbt._
import sbt.Process._
import PlayProject._
object ApplicationBuild extends Build {
val testJsTask = TaskKey[Unit]("testJs", "Run javascript tests.") := {}
val main = PlayProject("xxx", 1.0, Seq())
.settings(defaultScalaSettings: _*)
.settings(testJsTask)
}
Cho đến nay rất tốt.
Tôi muốn chạy này testJsTask
luôn khi ai đó thực hiện tác vụ test
.
Tôi đoán nó phải được một cái gì đó như sau:
test in Test <<= (test in Test).dependsOn(testJsTask)
Tôi không biết làm thế nào nó cần được xác định một cách chính xác. Làm thế nào để thêm một phụ thuộc vào một nhiệm vụ hiện có như 'test' hoặc 'build'?
CẬP NHẬT
Sau khi thay đổi bằng cách @Christian đề xuất định nghĩa xây dựng trông như sau:
object ApplicationBuild extends Build {
val testJsTask = TaskKey[Unit]("testJs", "Run tests for javascript client.")
def testJs = {}
val main = PlayProject("xxx", 1.0, Seq())
.settings(defaultScalaSettings: _*)
.settings(testJsTask := testJs)
(test in Test) <<= (test in Test) dependsOn (testJs)
}
Thật không may, giải pháp không làm việc, hoặc:
[error] /xxx/project/Build.scala:21: not found: value test
[error] (test in Test) <<= (test in Test) dependsOn (testJs)
[error] ^
[error] one error found
[error] {file:/xxx/project/}default-f468ae/compile:compile: Compilation failed
Bạn đã thành công chưa? Bản chỉnh sửa mới nhất của tôi có giúp bạn không? – Christian
Không may mắn tôi không thấy cách làm tương tự với phiên bản Play:/Tôi sẽ cố gắng thực hiện thêm vài bài kiểm tra nữa và tôi sẽ báo cáo ở đây nếu có thành công nào. –
Tôi quan tâm để xem bạn có tìm thấy giải pháp hay không. – 2rs2ts