2015-03-25 24 views
9

Java kaynak kodlarını önceden işlemek için IntelliJ oluşturma işlemini bir şekilde ayarlayabilir miyim? Şunlar gibi:IntelliJ IDEA - otomatik olarak artırılmış yapı (sürüm) numarası alabilir miyim?

int myBuildNumber = INTELLI_J_IDEA_MAGIC_WHICH_WILL_INCREMENT_EVERY_BUILD; 
+0

İlginç bir soru. Çözümü hangi problemi çözer? –

+1

Sadece basit bir intelliJ çözümü düşünemiyorum, ama '' karınca''nı kullanmaya ne dersiniz? IntelliJ içinden doğrudan bir ant görevini tetikleyebilirsin. Bu şekilde süreç IDE-agnostik olabilir. – AtomHeartFather

+0

Petur: Pek değil - sadece meslektaşlarıma hangi aracımın sürümünü kullandıklarını sorabilirim ve sonuncusunu onlara söyleyebilirim. Elime vermeden önce el ile sürümü değiştirmeyi unutsam bile ... Bir sonraki adım, bir şekilde revizyon sistemi numarasıyla ilişkilendirmektir. Ama şimdi istedim sadece bir şey hızlı ve kirli ve fantezi gibi bir numara 125 gibi :) –

cevap

6

AtomHeartFather'den ipucu ile bunu anladım.

Önce bir ant xml dosyası yazmamız gerekiyor. Bu dosya yapı numarası saklanır ve artırılır edilecek dosya oluşturur ve daha sonra xml dosyası şu şekilde görünecektir kaynak kod dosyası üzerinden bakmak değişken public static final String BUILD_NUMBER = ".*"; için ${src}/com/yourPath/Main.java ve mevcut yapı numarası

ile değiştirecektir:

<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> 

Ardından intelliJ'inizde (14.0.3 kullanıyorum) View->Tool Windows->Ant Build'a tıklayın. Sonra, + ve xml dosyanıza göz atın (xml tarafından kullanılan geçerli yolun, o xml dosyasının kendisi değil, inteliJ projesinin yolu olacağını unutmayın), böylece xml'nizi sakladığınız yere bağlı olarak location="../src" bölümünü düzeltmek isteyebilirsiniz). Hedefimiz init'u göreceksin, onu seçebilir ve play düğmesini tıklayabilirsiniz. Eğer çalışırsa, Main.java kaynak kodu dosyasında BUILD_NUMBER artışını göreceksiniz. Şimdi otomatik olarak nasıl yapılacağı önemli bir ipucu: init'a sağ tıklayın ve Execute on->Before Compilation'u seçin. Bitti :)

+0

Bu gerçekten harika bir cevap. Sana şükürler olsun. –

+1

Tipp: (release) paketleri oluşturulduğunda Ant dosyasını da çalıştırabilirsiniz. Sadece şu adımları takip edin (zaten bir Yapay Zengin olduğunuzu varsayarak): Yap -> Düzenlemeyi Düzenle -> (Sekme) Ön İşlem -> Ant hedefini çalıştır "init" :) –

+0

Müthiş cevap Vit, benim için çok fazla tahriş kaydetti. 1.1.1 vs gibi özel sayı dizeleri oluşturmak nasıl? – Sumit