Estoy creando algunas tareas personalizadas en mi proyecto SBT y necesito llamar a otras tareas para eso.SBT cómo ejecutar InputTask
¿Cómo puedo llamar a inputTasks desde dentro de mis tareas y darles soporte para algunas entradas?
Estoy creando algunas tareas personalizadas en mi proyecto SBT y necesito llamar a otras tareas para eso.SBT cómo ejecutar InputTask
¿Cómo puedo llamar a inputTasks desde dentro de mis tareas y darles soporte para algunas entradas?
Dado que puede factorizar sus propias tareas al respecto, supongo que está tratando de utilizar la tarea run
. Me tomó un poco de investigación, pero finalmente lo hice funcionar; en pocas palabras, esto es lo que hay que hacer (suponiendo que su tarea se denomina deployTask
, ajustar para que coincida con sus necesidades):
deployTask <<= (fullClasspath in Compile, runner) map { (classpath, runner) =>
val logger = ConsoleLogger() // Not sure this is optimal
Run.executeTrapExit({
Run.run("com.sample.MainClass",
classpath map { _.data },
Seq("option1", "option2", "..."), // <-- Options go here
logger)(runner)
}, logger)
}
Esto no invoca la InputTask
directamente (no he encontrado una manera de hacer eso todavía), pero al menos le permite ejecutar código Java arbitrario.
Esto fue de gran ayuda. He estado buscando durante unas horas, tratando de averiguar cómo ejecutar un 'InputTask' directamente. Mencionaste que no habías descubierto cómo * todavía * ... hace varios meses, ¿hay alguna posibilidad de que lo hayas descifrado desde entonces? – Dylan
Lo siento, no. Para ser sincero, hemos cambiado a Maven: no es tan elegante, pero es mucho más fácil poner en marcha al equipo. –