Chúng tôi sử dụng thuộc tính manifest
của plugin java để viết các tệp MANIFEST.MF
vào các đồ tạo tác jar
của chúng tôi.Cách sử dụng API Manifest của Gradle để chèn tệp `MANIFEST.MF` vào thư mục gốc của tệp zip
Chúng tôi cũng sử dụng gradle để xây dựng các dự án GWT
và kết quả chúng tôi đã xác định cho các dự án đó là zip
. Tôi muốn bao gồm tệp MANIFEST.MF
trong thư mục gốc của tệp zip đó.
Tôi đã thử sử dụng tác vụ type: Jar
để tôi có thể sử dụng thuộc tính manifest
của mình nhưng vấn đề, tất nhiên, là tệp kê khai được viết thành META-INF/MANIFEST.MF
mà tôi không muốn. Lý do là chúng tôi giải nén tệp lưu trữ vào ứng dụng chính và tôi cần có thể tham chiếu tệp MANIFEST.MF
khi chạy theo các mục đích bất chính của riêng tôi.
Vì vậy, ngay bây giờ các kho lưu trữ trông như thế này:
/gwtdirectory/
/gwtdirectory/file1
/gwtdirectory/file2
/gwtdirectory/...
/gwtdirectory/filen
Và tôi cần phải mất như thế này:
/gwtdirectory/
/gwtdirectory/MANIFEST.MF
/gwtdirectory/file1
/gwtdirectory/file2
/gwtdirectory/...
/gwtdirectory/filen
Tôi đã nhận được thành công nó trông giống như:
/gwtdirectory/
/gwtdirectory/META-INF/MANIFEST.MF
/gwtdirectory/file1
/gwtdirectory/file2
/gwtdirectory/...
/gwtdirectory/filen
Thông qua định nghĩa như:
task pack(type: Jar){
manifest {
attributes(...)
}
extension = 'zip'
from gwt.destinationDir
}
Phương pháp writeTo
trông có vẻ hứa hẹn, ngoại trừ tôi không thể tìm thấy triển khai giao diện mà tôi có thể sử dụng và tôi đang cố gắng tránh viết bằng văn bản của riêng mình.
Suy nghĩ?
Tác vụ 'Jar' có' getManifest() 'trả về thực thi' Manifest'. Vì vậy, tôi đoán bạn sẽ có thể làm 'gói (loại: Jar) {manifest.writeTo (...)}'. – rodion