2014-10-07 6 views
7

Ben Projemde sbt v0.13.5runMain özel görevinden nasıl yürütülür?

kullanıyorum, ben, bazı giriş (tek bir dize) kabul edebilir bir sbt görev var üzerinde bazı işler yapmak ve yeniden (bazı çıkışı geri tükürmek istiyorum , tek bir dize). Projemde, terminalden sbt runMain (sbt "runMain com.example.utils.ClassName someArgument") aracılığıyla arayabileceğim bir yardımcı sınıf oluşturdum.

İstediğim şey, yazarak kendimi kaydetmek ve bunu yapan bir sbt görevine sahip olmak. Sadece sbt doThing withStuff yazın mümkün olmak ister ve bir taskKey çalıştırmak için sınıfın adıyla runMain çağırır doThing adlandırılır ve her ne argüman geçirildi var. Ben görevler oluşturmak için nasıl biliyor

ama yapamıyorum ediyorum Benim build.sbt içinde özel bir görev tanımı runMain aramak için nasıl anlamaya görünüyor. Beni doğru yönde işaret eden var mı?

+0

http://www.scala-sbt.org/0.13.5/docs/Extending/Input-Tasks.html –

cevap

9
TaskKey[Unit]("myTask") := (runMain in Compile).toTask(" com.example.Main arg1 arg2").value 

runMain bir InputTask olup. InputTask, 0.13.1'den beri toTask yöntemine sahiptir.

+0

Ne görün * * zeki ** bir görev anahtarını tanımlamak için tek liner ve ': =' olarak adlandırın. –