Ok so mit einem Hinweis von AtomHeartFather Ich habe es.
Zuerst müssen wir eine ant-xml-Datei schreiben. Diese Datei wird erstellen Datei, in der Build-Nummer gespeichert werden und erhöht, und dann wird es Ihre Quellcodedatei ${src}/com/yourPath/Main.java
für variable public static final String BUILD_NUMBER = ".*";
und ersetzen mit aktuellen Build-Nummer
Die XML-Datei wie folgt aussehen aussehen würde durch:
<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>
Dann in Ihrem intelliJ (ich benutze 14.0.3) klicken Sie auf View->Tool Windows->Ant Build
. Dann +
und navigieren Sie zu Ihrer XML-Datei (beachten Sie, dass der aktuelle Pfad von Ihrem XML verwendet wird der Pfad zu dieser XML-Datei selbst - nicht Inteli Projekt - also möchten Sie vielleicht den Teil location="../src"
je nachdem, wo Sie Ihre XML speichern) korrigieren. Dann sehen Sie unser Ziel init
können Sie wählen und klicken Sie auf play
Schaltfläche. Wenn es funktioniert, sollten Sie BUILD_NUMBER
in Ihrer Quellcodedatei Main.java
inkrementiert sehen. Jetzt der wichtige Trick, wie man es automatisch macht: Klicken Sie einfach mit der rechten Maustaste auf init
und wählen Sie Execute on->Before Compilation
. Fertig :)
Interessante Frage. Welches Problem löst seine Lösung? –
Ich kann mir keine einfache, intelligente Lösung vorstellen, aber was ist mit der Verwendung von "ant"? Sie können eine Ant-Aufgabe direkt aus intelliJ auslösen. Auf diese Weise könnte der Prozess IDE-agnostisch sein. – AtomHeartFather
Petur: Nun, nicht viel - nur ich kann Kollegen fragen, welche Version meines Tools sie verwenden und ich kann ihnen sagen, ob es die letzte ist. Auch wenn ich vergesse, die Version manuell zu ändern, bevor ich sie verschenke ... Der nächste Schritt wäre, sie irgendwie mit der Revisionsnummer zu verknüpfen. Aber ich wollte für jetzt nur etwas schnell und dreckig und schick aussehende Nummer wie 125 :) –