Tôi có một dự án mô-đun đa mô-đun và tôi muốn có thể chạy một hoạt động (antrun) sau khi tất cả các mô-đun con đã hoàn thành việc thực hiện của chúng.Dự án đa mô-đun Maven - cách chạy một hoạt động sau khi tất cả các mô-đun con đã hoàn thành
Trong các dự án của tôi, tôi tạo RPM từ mỗi mô-đun phụ và trong giai đoạn triển khai, tôi sao chép RPM (bằng ssh) sang một kho lưu trữ RPM.
RPM repo yêu cầu tôi chạy lệnh createdb sau khi thêm RPM mới để có thể lập chỉ mục chúng.
Vì vậy, tôi có một antrun thực sự chạy scp và sao chép RPM vào repo. Nó chạy cho mỗi mô-đun con thực sự tạo ra một RPM và được nối với maven triển khai giai đoạn. Những gì tôi có thể làm là sau mỗi scp chạy lệnh createrepo nhưng điều đó sẽ lãng phí, tôi có hơn 10 submodules và mỗi createrepo mất khoảng một phút vì vậy tôi sẽ lãng phí thời gian xây dựng quý giá.
Điều tôi muốn làm là sau khi tất cả các mô-đun con đã hoàn tất, sau đó chạy trình tạo. Một lần.
Nỗ lực đầu tiên của tôi là để treo antrun gọi lệnh createrepo tới pom của cha mẹ (super-pom) triển khai giai đoạn. Tôi đã làm điều đó và vấn đề là giai đoạn triển khai của phụ huynh chạy trước giai đoạn triển khai của mô-đun con. Tôi muốn nó chạy sau
Tôi không thể đính kèm anterepo antrun vào bất kỳ giai đoạn nào sau này vì giai đoạn triển khai là giai đoạn cuối cùng trong vòng đời. Vì vậy, câu hỏi của tôi là: Có cách nào để chạy một trình dọn dẹp "dọn dẹp" hoặc một plugin nói chung sẽ được thực hiện một lần, sau khi tất cả các hoạt động xây dựng của tất cả các mô-đun con đã kết thúc thành công không? Có phải không?
Việc hack xung quanh nó sẽ tạo một mô-đun con khác và đảm bảo nó là cuối cùng bằng cách làm cho nó phụ thuộc vào tất cả các mô-đun khác và chạy trình tạo từ giai đoạn triển khai của mô-đun này. Nhưng đó là xấu và khó để duy trì. Tôi thích một giải pháp sạch hơn.
Cảm ơn
phiên bản Maven là 2.2.1
Bạn đã đưa ra giải pháp đẹp hơn? –