Tôi muốn thay thế mã thông báo @[email protected]
trong tệp nguồn java bằng phiên bản trước khi xây dựng (Gradle là hệ thống xây dựng của tôi).Thay thế mã thông báo trong tệp trước khi tạo, nhưng giữ mã thông báo trong các nguồn
Trong tập lệnh hiện tại ant.replace(file: 'src/main/java/randers/notenoughvocab/main/Reference.java', token: '@[email protected]', value: version)
, nó thay thế các lần xuất hiện của @[email protected]
trong tệp nguồn thực, sau khi xây dựng tất cả các lần xuất hiện của mẫu đã được thay thế bằng phiên bản và nếu tôi thay đổi phiên bản còn tìm thấy bất kỳ mẫu nào trong đó và phiên bản sẽ không cập nhật.
Tôi cũng đã thấy một nhiệm vụ here, nhưng tôi không nhận được giá trị nào cần được áp dụng cho dự án cụ thể của mình.
Cách bố trí dự án cho dự án của tôi, nếu điều đó là cần thiết:
My gradle build file: View on github
@ RAnders00 đó là dự án của bạn - dù sao đề xuất của Opal là một cách thực sự kỳ lạ để đạt được mục tiêu của bạn. Tôi muốn bạn đã thử thay thế sạch hơn tôi đề xuất trong câu trả lời này. Nó thậm chí còn dễ hiểu hơn, và bạn chỉ cần bỏ mười dòng mã Groovy và gõ '. \ Gradlew doc' – Raffaele
@ RAnders00 trong thực tế gradlew build nên ** KHÔNG ** chạm vào thư mục làm việc (xem bình luận cho câu trả lời của Opal). Thư mục adjustSrc chứa các tệp nguồn có mã thông báo được thay thế và sau đó được nạp vào tài liệu nhiệm vụ để tạo các javadocs (và bạn có thể làm điều tương tự để tạo ra các tệp jar .class) – Raffaele
Vấn đề trong việc làm rối các nhiệm vụ tiêu chuẩn (như compileJava) là bạn thêm phí thay thế ** cho mỗi bản dựng **. Thực hành không tốt. Các bản dựng nên càng nhanh càng tốt và bạn chỉ cần thay thế khi phát hành (ví dụ sau này bạn có thể thêm máy chủ CI có thể không cần bước lọc - Chu trình CPU là tài nguyên khan hiếm!) – Raffaele