2015-03-25 13 views
9

Tôi có thể đặt bằng cách nào đó quy trình xây dựng IntelliJ để xử lý trước mã nguồn Java và cho tôi tăng số lượng xây dựng không? Một cái gì đó như:IntelliJ IDEA - tôi có thể tự động tăng số phiên bản (phiên bản) không?

int myBuildNumber = INTELLI_J_IDEA_MAGIC_WHICH_WILL_INCREMENT_EVERY_BUILD; 
+0

Câu hỏi thú vị. Giải pháp của nó giải quyết vấn đề gì? –

+1

Tôi không thể nghĩ ra một giải pháp đơn giản, chỉ intelliJ, nhưng những gì về việc sử dụng '' ant'' để làm điều đó? Bạn có thể kích hoạt một tác vụ kiến ​​từ bên trong intelliJ trực tiếp. Bằng cách này, quá trình này có thể là IDE-thuyết bất khả tri. – AtomHeartFather

+0

Petur: Cũng không nhiều - chỉ tôi mới có thể hỏi các đồng nghiệp về phiên bản công cụ của tôi mà họ sử dụng và tôi có thể nói với họ rằng đó là phiên bản cuối cùng. Ngay cả khi tôi quên thay đổi phiên bản bằng tay trước khi tôi cho nó đi ... Bước tiếp theo sẽ được liên kết nó với số lượng hệ thống sửa đổi bằng cách nào đó. Nhưng tôi muốn bây giờ chỉ là một cái gì đó nhanh chóng và bẩn và tìm kiếm số lượng ưa thích như 125 :) –

Trả lời

6

Ok vậy với gợi ý từ AtomHeartFather Tôi hiểu rồi.

Trước tiên, chúng tôi cần viết một tệp xml kiến. Tập tin này sẽ tạo ra tập tin mà xây dựng số sẽ được lưu trữ và tăng lên và sau đó nó sẽ xem xét thông qua tập tin mã nguồn của bạn ${src}/com/yourPath/Main.java cho biến public static final String BUILD_NUMBER = ".*"; và thay thế nó với hiện tại xây dựng số

Các tập tin xml sẽ trông như thế này:

<project name="MyProject" default="init" basedir="."> 
    <description> 
     simple example increment build variable 
    </description> 
    <!-- set global properties for this build --> 
    <property name="src" location="../src"/> 

    <target name="init"> 
    <echo file="myAntOut.txt">My first ant ${src} ${line.separator}</echo> 

    <buildnumber/> 
    <replaceregexp file="${src}/com/yourPath/Main.java" 
       match="public\s+static\s+final\s+String\s+BUILD_NUMBER\s+=\s+&quot;.*&quot;;" 
       replace="public static final String BUILD_NUMBER = &quot;${build.number}&quot;;" 
       byline="true" 
    /> 

    </target> 
</project> 

Sau đó, trong intelliJ (Tôi đang sử dụng 14.0.3), bạn nhấp vào View->Tool Windows->Ant Build. Sau đó + và duyệt đến tệp xml của bạn (lưu ý rằng đường dẫn hiện tại được xml của bạn sử dụng sẽ là đường dẫn đến tệp xml đó - không phải dự án inteliJ - do đó bạn có thể sửa phần location="../src" tùy thuộc vào nơi bạn lưu trữ xml của mình). Hơn bạn sẽ thấy mục tiêu của chúng tôi init bạn có thể chọn nó và bấm vào nút play. Nếu nó hoạt động, bạn sẽ thấy BUILD_NUMBER tăng lên trong tập tin mã nguồn của bạn Main.java. Bây giờ, mẹo quan trọng là làm thế nào để tự động làm cho nó: Chỉ cần nhấp chuột phải vào init và chọn Execute on->Before Compilation. Xong :)

+0

Đây thực sự là một câu trả lời tuyệt vời. Kudos cho bạn. –

+1

Tipp: Bạn cũng có thể thực thi Ant-file khi các gói (release) được xây dựng. Chỉ cần làm theo các bước sau (giả sử bạn đã có một tạo phẩm): Build -> edit Artifact -> (Tab) Pre-processing -> Run Ant target "init" :) –

+0

Câu trả lời tuyệt vời Vit, lưu rất nhiều kích thích cho tôi. Làm thế nào để tạo ra các chuỗi xây dựng số tùy chỉnh như 1.1.1 vv? – Sumit

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