Khi nhận được báo cáo lỗi hoặc tin nhắn không hoạt động, một trong những câu hỏi đầu tiên của tôi luôn là phiên bản nào? Với các bản dựng khác nhau ở nhiều giai đoạn thử nghiệm, lập kế hoạch và triển khai điều này thường là một câu hỏi không tầm thường.Cách tốt nhất để lưu trữ thông tin phiên bản Subversion trong EAR?
Tôi là trường hợp phát hành tệp Java JAR (tai, jar, rar, chiến tranh) mà tôi muốn có thể xem/tại JAR và chuyển sang cùng một chi nhánh, phiên bản hoặc thẻ là nguồn của phát hành JAR.
Làm cách nào để tôi có thể điều chỉnh tốt nhất quá trình tạo kiến để thông tin phiên bản trong thanh toán svn vẫn còn trong bản dựng được tạo?
Tôi đã suy nghĩ dọc theo dòng:
- thêm một tập tin VERSION, nhưng với nội dung gì?
- lưu trữ thông tin trong tệp META-INF, nhưng dưới thuộc tính nào có nội dung nào?
- nguồn sao chép vào các kho lưu trữ kết quả
- thêm svn: tính đến tất cả các nguồn với từ khóa ở những nơi trình biên dịch lá họ được
tôi đã kết thúc sử dụng phương pháp svnversion (các anwser được chấp nhận), bởi vì nó quét toàn bộ cây con như trái ngược với thông tin svn mà chỉ cần nhìn vào tập tin/thư mục hiện tại. Đối với điều này tôi xác định nhiệm vụ SVN trong tập tin kiến để làm cho nó di động hơn.
<taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask">
<classpath>
<pathelement location="${dir.lib}/ant/svnant.jar"/>
<pathelement location="${dir.lib}/ant/svnClientAdapter.jar"/>
<pathelement location="${dir.lib}/ant/svnkit.jar"/>
<pathelement location="${dir.lib}/ant/svnjavahl.jar"/>
</classpath>
</taskdef>
Không phải tất cả được xây dựng dẫn đến webservices. Tệp tai trước khi triển khai phải duy trì cùng tên vì cập nhật trong máy chủ ứng dụng. Làm cho tệp thực thi vẫn là một tùy chọn, nhưng cho đến lúc đó tôi chỉ bao gồm một tệp thông tin phiên bản.
<target name="version">
<svn><wcVersion path="${dir.source}"/></svn>
<echo file="${dir.build}/VERSION">${revision.range}</echo>
</target>
Refs:
svnrevision: http://svnbook.red-bean.com/en/1.1/re57.html
svn info nhiệm vụ svn http://svnbook.red-bean.com/en/1.1/re13.html
subclipse: http://subclipse.tigris.org/svnant/svn.html
svn client: http://svnkit.com/
Tôi SvnTask di động hơn là chạy "svnversion" như trong câu trả lời được chấp nhận? –