2010-06-06 25 views
5

Dự án của chúng tôi đã có một hack tốt đẹp (mặc dù tôi đoán có cách tốt hơn để làm điều đó) để nhúng thông tin sửa đổi vào hiện vật (jar, vv) khi chúng tôi sử dụng svn.Làm thế nào để nhúng thông tin sửa đổi bằng cách sử dụng mercurial và maven (và svn)

Bây giờ chúng tôi đã di chuyển sang thủy ngân, và chúng tôi muốn có một điều tương tự, nhưng trước khi tôi bắt đầu làm việc trên một hack tương tự với mercurial, tôi muốn biết nếu có cách tốt hơn để làm điều này.

Cảm ơn câu trả lời của bạn!

<plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>exec-maven-plugin</artifactId> 
     <executions> 
      <execution> 
        <phase>process-classes</phase> 
        <id>svninfo</id> 
        <goals> 
         <goal>exec</goal> 
        </goals> 
       <configuration> 
        <executable>svn</executable> 
        <arguments> 
        <argument>info</argument> 
        <argument>../</argument> 
        <argument>></argument> 
        <argument>target/some-project/META-INF/svninfo.txt</argument> 
        </arguments> 
       </configuration> 
      </execution> 
     </executions> 
    </plugin> 

Trả lời

4

Các Maven Build Number Plugin đã hỗ trợ cho Mercurial từ 1.0-beta-4 (xem MOJO-1432). Mục tiêu buildnumber:hgchangeset đặt hai thuộc tính dự án với id changeset và ngày thay đổi mà bạn có thể sử dụng với lọc để có được kết quả tương đương.

2

Âm thanh như Pascal có cách maven chính thức để làm điều đó, nhưng nếu bạn làm kết thúc thi đua svn hack của bạn, lệnh tương ứng tốt nhất trong lanh lợi sẽ là:

hg log -r . --template '{node|short}\n' 

hoặc nếu bạn đang sử dụng thẻ và muốn được ưa thích:

hg log -r . --template '{latesttag}+{latestance}\n' 

xem hg help templates cho tất cả các tùy chọn.

+0

Làm thế nào về 'hg parent' thay vì' hg log -r .'? – Alex

Các vấn đề liên quan