Goal
Multimodule maven phát hành với các thẻ cho mỗi mô-đunMaven thiết lập phát hành với các thẻ svn mỗi mô-đun
Tình hình
Giả sử cấu trúc dự án sau cho một dự án Java Maven dựa trên:
xx-parent
xx-moduleA
xx-moduleB
xx-moduleC/submodule1
xx-moduleC/submodule2
xx-moduleC/submodule3
Cấu trúc dự án trong Subversion như sau:
xx-parent/trunk
xx-moduleA/trunk
xx-moduleB/trunk
xx-moduleC/trunk/submodule1
xx-moduleC/trunk/submodule2
xx-moduleC/trunk/submodule3
Mục tiêu của tôi là tạo ra thẻ mỗi mô-đun khi thực hiện một thông cáo:
xx-parent/tags/xx-parent-1.0
xx-moduleA/tags/xx-moduleA-1.0
xx-moduleB/tags/xx-moduleB-1.0
xx-moduleC/tags/xx-moduleC-1.0
Trong quá khứ, mỗi module được xây dựng và phát hành riêng lẻ. Khi dự án phát triển lớn hơn (30 mô-đun), thời gian để xây dựng một bản phát hành tăng lên. Tôi muốn thay đổi dự án thành một mô-đun đa được thiết lập để thực hiện xây dựng và phát hành lò phản ứng. Xây dựng dường như không phải là một vấn đề, nhưng tạo thẻ cho mỗi mô-đun là.
Trình giải phóng maven-plugin dường như nhấn mạnh vào việc chỉ tạo một thẻ duy nhất cho toàn bộ dự án/bản phát hành. Tôi đang tìm cách tạo nhiều thẻ, ví dụ: một thẻ cho mỗi mô-đun.
Những gì tôi đã cố gắng cho đến nay
- Tạo một xx-tất cả các bí danh Subversion, mà kiểm tra ra tất cả các tiểu mô-đun, vì vậy tôi có thể tham khảo chúng với
<module>../xx-moduleB</module>
- Kích hoạt commitByProject, mà đã cam kết mỗi mô-đun , nhưng không phải thẻ cho mỗi mô-đun. Xem
- Mỗi mô-đun có các thành phần
<scm>
riêng trongpom.xml
, nhưng chúng không được sử dụng khi thực hiện phát hành lò phản ứng. mvn --batch-mode -DcommitPerProject=true -DautoVersionSubmodules=true -Drelease.version=1.0.6 release:prepare release:perform
vấn đề
- maven-release-plugin không tạo ra một thẻ svn mỗi mô-đun
- maven-release-Plugin ghi đè thẻ
<scm>
với URL không hợp lệ, ví dụ lồng nhau "thân cây" -tags dưới thẻ xx-mẹ
Câu hỏi
Làm thế nào tôi có thể thiết lập dự án này với một quá trình phát hành Maven, một bố cục đa mô-đun và vẫn nhận được thẻ riêng biệt cho mỗi mô-đun?
Tài liệu tham khảo
http://jira.codehaus.org/browse/MRELEASE-261 (Closed) và MRELEASE-561 (Open)
+1 được viết rất độc đáo và chính xác là vấn đề tôi đang gặp phải! Hy vọng có một sự cải thiện trong những năm qua – avalancha