2012-03-31 9 views
5

Estoy tratando de forzar a Gradle a crear el jarro a mi manera. Escribí mi propia tarea Gradle (clase separada) para hacer esto y ahora quiero reemplazar la tarea por defecto jar con ella, de modo que:¿Cómo reemplazar correctamente la tarea Gradle 'jar'?

  • el archivo se genera siempre con mi nueva tarea y nunca con el viejo jar tarea
  • mi nueva tarea tiene la misma relación con otras tareas como la tarea por defecto jar - que depende de classes tarea, la tarea build lo utiliza, etc.
  • me gustaría que mi tarea no debe ser invocado cuando es UP-TO-DATE (al igual que el predeterminado jar)

Estoy luchando para hacer esto y estoy teniendo muchos problemas para lograrlo. Por ejemplo, no pude forzar la tarea build para usar siempre mi nueva tarea.

Realmente apreciaría si alguien pudiera apoyarme con un breve tutorial.

Respuesta

2

esto debería funcionar:

jar { 
    // reset actions 
    actions = [] 
    // add your action that performs the work based 
    // on the configuration (e.g. 'source') of this task 
    doLast { ... } 
} 
+0

Gracias, eso ayuda mucho. El viejo 'jar' ya no se ejecuta. Sin embargo, la tarea se ejecuta siempre, incluso si debe ser 'UP-TO-DATE'. ¿Cómo puedo prevenir eso? – ghik

+1

Si ejecuta con '-info', Gradle le dirá por qué cree que la tarea no está actualizada. –

Cuestiones relacionadas