scmversion Gradle Plugin

Wer Software entwickelt, sollte sauber Versionsnummern vergeben: Bei Bibliotheken bestimmen sie die gewünschte (kompatible) Version, bei kompletten Programmen ist so erkennbar, welcher Stand des Quelltextes „da draußen“ im Einsatz ist. Um einen Rückschluß auf den zugehörigen Quelltext zu haben, muss die entsprechende Version im Source Conrol Management mit derselben Versionsnummer markiert werden – man hat also eine doppelte Buchführung: Einmal in der Software selbst (bzw. im Build-Skript, das die Versionsnummer der generierten Bibliothek festlegt) und einmal in der Versionskontrolle. Dieses Gradle-Plugin sorgt dafür, dass diese Information nur noch aus einer Quelle stammt, nämlich dem Source Control Management.

Der Quelltext des Plugins ist hier auf github verfügbar.

Gradle Plugin: Versionsnummer aus git

Kein Problem mehr mit vergessenen Aktualisierungen

Ein lästiges Problem: Einerseits muss man die Versionsnummern in seinem Quelltext oder im Buildsystem pflegen, auf der anderen Seite sollte man nicht vergessen, beim Hochzählen der Versionsnummer auch einen entsprechenden Tag in der Versionskontrolle zu setzen. Mein bevorzugtes Build-System für Java (und andere JVM-Sprachen) ist Gradle, die ultimative Versionskontrolle ist sowieso git :-) Da Gradle mit eigenen Plugins erweiterbar ist, lag es nahe, hier etwas entsprechenden Code zu bauen – das Ergebnis ist hier auf github.