2012-01-24 17 views
15

Tôi đang sử dụng hệ thống phiên bản được đại diện bởi abbuild trong đó a là phiên bản tổng thể (sẽ là 0 cho phiên bản nguyên mẫu, alpha và beta, 1 cho bản phát hành chính), b là phiên bản cột mốc (dọc theo các dòng đại diện cho các giai đoạn proto, alpha, beta) và xây dựng đại diện cho nghĩa đen số lần dự án đã được biên dịch.Tự động tăng số bản dựng trong một dự án Java

Hiện tại, tôi đã đọc ứng dụng từ tệp văn bản, tăng số lượng và lưu vào tệp văn bản khi ứng dụng được chạy với bộ cờ gỡ lỗi.

Tôi đang tìm cách "đúng" hơn để thực hiện việc này bằng Java và Netbeans. Có cách nào tôi có thể tiêm một số xây dựng vào quá trình xây dựng một nơi nào đó? tốt nhất là lưu số vào một tệp nguồn được gửi cùng với dự án - thay vì dựa vào sự tồn tại của tệp gần đó.

+0

Tại sao bản dựng phải là số sê-ri?Tại sao một băm của các tập tin được xây dựng không đủ? –

+2

Xem http://stackoverflow.com/questions/690419/build-and-version-numbering-for-java-projects-ant-cvs-hudson – andersoj

+4

@MikeSamuel Thông thường vì những người xây dựng gia tăng dễ dàng hơn cho mọi người ('bản dựng này mới hơn ') –

Trả lời

10

Có một vài plugins Maven phổ biến mà thành tích này:

Các Maven phát hành Plugin từ Dự án Maven Apache là một chút overkill cho chỉ đơn giản là cập nhật số phiên bản. Do đó use the latter plugin để tạo ra một số phiên bản (theo mẫu của MAJOR.MINOR.BUILD; ví dụ, 3.1.4 nơi 4 là tự động tăng) như sau:

  1. mở tập tin pom.xml của dự án.
  2. Bao gồm các plugin trong build phần (sau phần dependencies):
<scm> 
    <connection>scm:svn:http://127.0.0.1/dummy</connection> 
    <developerConnection>scm:svn:https://127.0.0.1/dummy</developerConnection> 
    <tag>HEAD</tag> 
    <url>http://127.0.0.1/dummy</url> 
    </scm> 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>buildnumber-maven-plugin</artifactId> 
     <version>1.4</version> 
     <executions> 
      <execution> 
      <id>buildnumber</id> 
      <phase>validate</phase> 
      <goals> 
       <goal>create</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <format>{0,number}</format> 
      <items> 
      <item>buildNumber</item> 
      </items>      
      <doCheck>false</doCheck> 
      <doUpdate>false</doUpdate> 
      <revisionOnScmFailure>unknownbuild</revisionOnScmFailure> 
     </configuration> 
     </plugin>  
    </plugins> 
    <finalName>${project.artifactId}-${project.version}.${buildNumber}</finalName> 
    </build> 
  1. Đảm bảo rằng các pom.xml xác định phiên bản lớn và nhỏ trong các yếu tố phiên bản gần đầu tệp. Ví dụ:
<version>3.1</version> 
  1. Lưu file pom.xml.
  2. Xây dựng lại dự án.

Số phiên bản sẽ tăng.


Plugin yêu cầu phần tử quản lý mã nguồn được quản lý mã nguồn (<scm>). Nếu bạn không quan tâm đến số đăng ký kho lưu trữ, hãy sử dụng số dummy scm thay thế. Điều này có thể được sử dụng để bao gồm số sửa đổi từ kho lưu trữ, đó là một bài tập cho reader.

1

Bạn có thể sử dụng số git commit của nhánh hiện tại làm số bản dựng. Sử dụng dòng lệnh này để nhận số cam kết: git rev-list HEAD --count.

Tích hợp với công cụ xây dựng sẽ khá đơn giản. Nếu bạn đang sử dụng Gradle thì bạn có thể sử dụng plugin này: https://github.com/rockerhieu/Versionberg/

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