निष्पादित कर सकते हैं "संकलन परीक्षण: इसे संकलित करें: संकलित करें" एक कमांड के रूप में, "*: संकलित करें" कहें?

मैं संकलन परीक्षण चला रहा हूं: इसे संकलित करें: संकलित करें अक्सर और ... *: compile जैसे कुछ कीस्ट्रोक की संख्या में कटौती करना चाहेंगे। हालांकि, यह काम नहीं प्रतीत होता है।

$ sbt *:compile
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins
[info] Loading project definition from /Users/jacek/oss/scalania/project
[info] Set current project to scalania (in build file:/Users/jacek/oss/scalania/)
[error] No such setting/task
[error] *:compile
[error]          ^

क्या यह सभी के लिए संभव है? मैं एसबीटी 0.13 का उपयोग करता हूं।

0

1 उत्तर

test:compile implies a compile so compile doesn't need to be explicitly run before test:compile. If your IntegrationTest configuration extends Test, it:compile implies test:compile.

एक विकल्प एक उपनाम को परिभाषित करना है जो एकाधिक कमांड निष्पादित करता है:

sbt> alias compileAll = ; test:compile ; it:compile

विवरण के लिए सहायता उपनाम और सहायता; देखें। आप इसे अपने निर्माण का एक हिस्सा बना सकते हैं:

addCommandAlias("compileAll", "; test:compile ; it:compile")

दूसरा विकल्प एक कस्टम कार्य को परिभाषित करना है जो दूसरों पर निर्भर करता है और उसे कॉल करें:

lazy val compileAll = taskKey[Unit]("Compiles sources in all configurations.")

compileAll := { 
   val a = (compile in Test).value
   val b = (compile in IntegrationTest).value
   ()
}
0
जोड़ा