2012-03-31 39 views
5

Próbuję zmusić Gradle'a do stworzenia słoika na swój własny sposób. Pisałem własne zadanie Gradle (oddzielne klasy), aby to zrobić i teraz chcę zastąpić domyślne zadanie jar z nim, tak że:Jak poprawnie zastąpić zadanie "jar" Gradle?

  • archiwum jest zawsze generowany z mojego nowego zadania i NIGDY ze starą jar zadanie
  • moje nowe zadanie ma taki sam związek z innymi zadaniami, jak zadania domyślne jar - to zależy od classes zadania, zadanie build używa go itp
  • Chciałbym moje zadanie nie powoływać, gdy jest UP-TO-DATE (tak jak domyślny jar)

Staram się to zrobić i mam wiele problemów, aby to osiągnąć. Na przykład nie mogłem zmusić zadania build do korzystania z mojego nowego zadania.

Byłbym bardzo wdzięczny, gdyby ktoś mógł mnie wesprzeć krótkim instruktażem.

Odpowiedz

2

To powinno działać:

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

Dzięki, że pomaga. Stary "jar" nigdy już nie jest wykonywany. Jednak zadanie jest wykonywane zawsze, nawet jeśli powinno być "UP-TO-DATE". Jak mogę temu zapobiec? – ghik

+1

Jeśli uruchomisz '--info', Gradle powie ci, dlaczego uważa, że ​​zadanie nie jest aktualne. –

Powiązane problemy