Używamy atrybutu manifest
wtyczki java do pisania plików MANIFEST.MF
do naszych artefaktów jar
.Jak korzystać z Manifest API Gradle do wstawienia pliku `MANIFEST.MF` do katalogu głównego pliku zip
Używamy również gradle do budowania projektów GWT
, a wyjście, które zdefiniowaliśmy dla tych projektów, to zip
. Chciałbym dołączyć plik MANIFEST.MF
w katalogu głównym tego pliku zip.
Próbowałem użyć zadania z , więc mogę użyć jego właściwości manifest
, ale problem, oczywiście, jest to, że plik manifestu jest zapisany w META-INF/MANIFEST.MF
, którego nie chcę. Powodem jest to, że rozpakowujemy archiwum do głównej aplikacji i potrzebuję mieć możliwość odniesienia się do pliku MANIFEST.MF
w środowisku wykonawczym dla moich własnych niegodziwych celów.
Więc teraz archiwum wygląda następująco:
/gwtdirectory/
/gwtdirectory/file1
/gwtdirectory/file2
/gwtdirectory/...
/gwtdirectory/filen
I muszę zajęło tak:
/gwtdirectory/
/gwtdirectory/MANIFEST.MF
/gwtdirectory/file1
/gwtdirectory/file2
/gwtdirectory/...
/gwtdirectory/filen
Ja już z powodzeniem zdobyć to wyglądać:
/gwtdirectory/
/gwtdirectory/META-INF/MANIFEST.MF
/gwtdirectory/file1
/gwtdirectory/file2
/gwtdirectory/...
/gwtdirectory/filen
Poprzez definicję:
task pack(type: Jar){
manifest {
attributes(...)
}
extension = 'zip'
from gwt.destinationDir
}
Metoda wygląda obiecująco, ale nie mogę znaleźć implementacji tego interfejsu, z którego mogę korzystać i staram się unikać pisania własnych.
Myśli?
Zadanie 'Jar' ma funkcję' getManifest() ', która zwraca implementację' Manifest'. Sądzę więc, że powinieneś być w stanie zrobić 'pack (type: Jar) {manifest.writeTo (...)}'. – rodion