我正試圖擴展Jan Berkel's Android Plugin的Scala,它使用SBT。如何在SBT中爲Jan Berkel的Android插件添加更多類似的任務和設置?
我有類似的操作和設置,如已定義android:install-device
和android:install-emulator
。
讓他們被稱爲android:dev-install-device
和android:dev-install-emulator
。在AndroidLaunch.scala
val devInstallDevice = TaskKey[Unit]("dev-install-device")
val devInstallEmulator = TaskKey[Unit]("dev-install-emulator")
val devStartDevice = TaskKey[Unit]("dev-start-device", "Start package on device after installation")
val devStartEmulator = TaskKey[Unit]("dev-start-emulator", "Start package on emulator after installation")
我還添加東西:
我在AndroidKeys.scala
添加新鍵
lazy val settings: Seq[Setting[_]] =
//AndroidInstall.settings ++
AndroidFastInstall.settings ++
inConfig(Android) (Seq (
devStartDevice <<= startTask(false),
devStartEmulator <<= startTask(true),
//startDevice <<= startTask(false),
//startEmulator <<= startTask(true),
devStartDevice <<= devStartDevice dependsOn devInstallDevice,
devStartEmulator <<= devStartEmulator dependsOn devInstallEmulator
//startDevice <<= startDevice dependsOn installDevice,
//startEmulator <<= startEmulator dependsOn installEmulator
))
的問題是,如果我想我自己的任務是可用的,我有評論出我不想要的原始的,標準的。
有什麼我可以忽略的嗎?
更新:
我試過不同的順序設置。
當AndroidFastInstall
來AndroidInstall
之前,AndroidInstall
無論是執行我打電話android:install-device
或android:dev-install-device
。
lazy val settings: Seq[Setting[_]] =
AndroidFastInstall.settings ++
inConfig(Android) (Seq (
devStartDevice <<= devStartTask(false),
devStartEmulator <<= devStartTask(true),
devStartDevice <<= devStartDevice dependsOn devInstallDevice,
devStartEmulator <<= devStartEmulator dependsOn devInstallEmulator
))++
AndroidInstall.settings ++
inConfig(Android) (Seq (
startDevice <<= startTask(false),
startEmulator <<= startTask(true),
startDevice <<= startDevice dependsOn installDevice,
startEmulator <<= startEmulator dependsOn installEmulator
))
當AndroidInstall
來AndroidFastInstall
之前,AndroidFastInstall
無論是執行我打電話android:install-device
或android:dev-install-device
。
lazy val settings: Seq[Setting[_]] =
AndroidInstall.settings ++
inConfig(Android) (Seq (
startDevice <<= startTask(false),
startEmulator <<= startTask(true),
startDevice <<= startDevice dependsOn installDevice,
startEmulator <<= startEmulator dependsOn installEmulator
)) ++
AndroidFastInstall.settings ++
inConfig(Android) (Seq (
devStartDevice <<= devStartTask(false),
devStartEmulator <<= devStartTask(true),
devStartDevice <<= devStartDevice dependsOn devInstallDevice,
devStartEmulator <<= devStartEmulator dependsOn devInstallEmulator
))
似乎最後添加的內容總是涵蓋了之前那些可見的內容。 有誰知道這個解決方案?
是的,就是這樣。 :d – Lopina 2012-07-19 09:54:08