Có cách nào để tránh ghi đè tệp khi sử dụng tác vụ type:Copy
không?Sao chép bản sao mà không ghi đè
Đây là nhiệm vụ của tôi:
task unpack1(type:Copy)
{
duplicatesStrategy= DuplicatesStrategy.EXCLUDE
delete(rootDir.getPath()+"/tmp")
from zipTree(rootDir.getPath()+"/app-war/app.war")
into rootDir.getPath()+"/tmp"
duplicatesStrategy= DuplicatesStrategy.EXCLUDE
from rootDir.getPath()+"/tmp"
into "WebContent"
}
Tôi muốn tránh để xác định tất cả các file sử dụng loại trừ 'tập tin/file *'.
Dường như duplicatesStrategy= DuplicatesStrategy.EXCLUDE
không hoạt động. Tôi đọc về một vấn đề trên gradle 0.9 nhưng tôi đang sử dụng Gradle 2.1.
Vấn đề này vẫn còn ở đó?
Hoặc tôi có hiểu nhầm cách tác vụ này nên được sử dụng đúng cách không?
Cảm ơn
Chính xác của bạn là gì? Có cách nào để tránh ghi đè tệp không? Trong đoạn mã trên, 'thành' thứ hai sẽ giành chiến thắng trước tiên (có thể chỉ là một cấp cao nhất' vào'). Ngoài ra, 'vào' và' từ' không bao giờ có thể giống nhau cho cùng một tác vụ Sao chép. –
Thậm chí nếu tôi chạy nhiệm vụ này Gradle ghi đè lên tập tin vào WebContent 'nhiệm vụ giải nén (loại: Sao chép) { \t duplicatesStrategy = DuplicatesStrategy.EXCLUDE \t từ rootDir.getPath() + "/ tmp" \t vào "WebContent " }' – carlitos081
Tôi hiểu ý của bạn là gì. 'DuplicatesStrategy' là về các bản sao trong các nguồn bản sao (' from'). Không có tùy chọn cấu hình để nói một tác vụ 'Sao chép' không ghi đè lên các tệp đã tồn tại trong thư mục đích, nhưng bạn có thể đạt được điều này bằng cách sử dụng' eachFile'. Xem “Sao chép” trong [Tham khảo Ngôn ngữ Xây dựng Gradle] (http://gradle.org/docs/current/dsl/index.html) để biết chi tiết. Bạn cũng có thể tìm thấy một mẫu liên quan trong thư mục 'samples' của bản tải xuống' gradle-all'. –