Ok così con un suggerimento da AtomHeartFather I got it.
Per prima cosa dobbiamo scrivere un file xml di formica. Questo file creare il file in cui verrà memorizzato e incrementato il numero di build e poi sarà guardare attraverso il file di codice sorgente ${src}/com/yourPath/Main.java
per la variabile public static final String BUILD_NUMBER = ".*";
e sostituirlo con l'attuale numero di build
Il file XML sarà simile a questa:
<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+".*";"
replace="public static final String BUILD_NUMBER = "${build.number}";"
byline="true"
/>
</target>
</project>
Quindi nel tuo intelliJ (sto usando 14.0.3) fai clic su View->Tool Windows->Ant Build
. Quindi, +
e vai al tuo file xml (nota che il percorso corrente usato dal tuo xml sarà il percorso di quel file xml stesso - non inteliJ project - quindi potresti voler correggere la parte location="../src"
a seconda di dove memorizzi il tuo xml). Di quanto vedrai il nostro obiettivo init
puoi selezionarlo e fare clic sul pulsante play
. Se funziona, vedrai BUILD_NUMBER
incrementato nel tuo file di codice sorgente Main.java
. Ora il trucco importante come farlo automaticamente: Basta fare clic destro su init
e selezionare Execute on->Before Compilation
. Fatto :)
fonte
2015-04-08 20:07:37
Interessante domanda. Quale problema risolve la sua soluzione? –
Non riesco a pensare ad una soluzione semplice, intelliJ, ma per quanto riguarda l'uso di '' ant'' per farlo? È possibile attivare un'operazione ant sulla stessa direttamente da intelliJ. In questo modo il processo potrebbe essere indipendente dall'IDE. – AtomHeartFather
Petur: Beh, non molto - solo posso chiedere ai colleghi quale versione del mio strumento usano e posso dire loro se è l'ultimo. Anche se dimentico di cambiare manualmente la versione prima di darla via ... Il prossimo passo sarebbe collegarlo in qualche modo con il numero del sistema di revisione. Ma per ora volevo solo qualcosa di veloce e sporco e un numero di fantasia come 125 :) –