Beim Empfang eines Fehlerberichts oder einer it-doesnt-work-Nachricht ist eine meiner Initialfragen immer welche Version? Mit einer anderen Builds in vielen Phasen der Prüfung, Planung und Bereitstellung ist dies oft eine nicht-triviale Frage.Wie kann man die Versionsinformationen von Subversion in EARs speichern?
Wenn ich Java JAR - Dateien (ear, jar, rar, war) veröffentliche, möchte ich in/in JAR schauen und zu demselben Zweig, derselben Version oder demselben Tag wechseln, der die Quelle des veröffentlicht JAR.
Wie kann ich den amt build-Prozess am besten anpassen, so dass die Versionsinformationen im svn checkout im erstellten Build verbleiben?
Ich dachte nach dem Vorbild der:
- eine VERSION-Datei hinzufügen, aber mit welchem Inhalt?
- Speichern von Informationen in der META-INF-Datei, aber unter welcher Eigenschaft mit welchem Inhalt?
- Kopierquellen in das Ergebnis Archiv
- hinzugefügt svn: Eigenschaften zu allen Quellen mit Keywords in Orten der Compiler sie
ich den svnversion Ansatz endete Blätter sein (die akzeptierte anwser), weil es den gesamten Teilbaum im Gegensatz zu svn info scannt, der nur die aktuelle Datei/das aktuelle Verzeichnis betrachtet. Dazu habe ich die SVN-Aufgabe in der ant-Datei definiert, um sie portabler zu machen.
<taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask">
<classpath>
<pathelement location="${dir.lib}/ant/svnant.jar"/>
<pathelement location="${dir.lib}/ant/svnClientAdapter.jar"/>
<pathelement location="${dir.lib}/ant/svnkit.jar"/>
<pathelement location="${dir.lib}/ant/svnjavahl.jar"/>
</classpath>
</taskdef>
Nicht alle Builds führen zu Webservices. Die EAR-Datei vor der Bereitstellung muss aufgrund der Aktualisierung auf dem Anwendungsserver den gleichen Namen erhalten. Es ist immer noch eine Option, die Datei ausführbar zu machen, aber bis dahin habe ich nur eine Versionsinformationsdatei hinzugefügt.
<target name="version">
<svn><wcVersion path="${dir.source}"/></svn>
<echo file="${dir.build}/VERSION">${revision.range}</echo>
</target>
Refs:
svnrevision: http://svnbook.red-bean.com/en/1.1/re57.html
svn info http://svnbook.red-bean.com/en/1.1/re13.html
subclipse svn Aufgabe: http://subclipse.tigris.org/svnant/svn.html
SVN-Client: http://svnkit.com/
I SvnTask portabler als die Ausführung von "svnversion" wie in der angenommenen Antwort? –