Мы используем атрибут manifest
подключаемого модуля java для записи файлов MANIFEST.MF
в наши артефакты jar
.
Мы также используем gradle для создания проектов GWT
, и мы определили для этих проектов выходной файл zip
. Я хочу включить файл MANIFEST.MF
в корень этого zip-файла.
Я пробовал использовать задачу типа : Jar
, поэтому могу использовать его свойство manifest
, но проблема, конечно же, в том, что файл манифеста записан в META-INF / MANIFEST.MF
, который мне не нужен. Причина в том, что мы распаковываем архив в основное приложение, и мне нужно иметь возможность ссылаться на файл MANIFEST.MF
во время выполнения для моих собственных гнусных целей.
Прямо сейчас архив выглядит так:
/gwtdirectory/
/gwtdirectory/file1
/gwtdirectory/file2
/gwtdirectory/...
/gwtdirectory/filen
И мне нужно, чтобы он выглядел так:
/gwtdirectory/
/gwtdirectory/MANIFEST.MF
/gwtdirectory/file1
/gwtdirectory/file2
/gwtdirectory/...
/gwtdirectory/filen
Я уже успешно добился того, чтобы он выглядел так:
/gwtdirectory/
/gwtdirectory/META-INF/MANIFEST.MF
/gwtdirectory/file1
/gwtdirectory/file2
/gwtdirectory/...
/gwtdirectory/filen
Посредством определения вроде:
task pack(type: Jar){
manifest {
attributes(...)
}
extension = 'zip'
from gwt.destinationDir
}
Метод writeTo
выглядит многообещающим, за исключением того, что я не могу найти реализацию этого интерфейса, которую я мог бы использовать, и стараюсь не писать свой собственный.
Мысли?