Gradle generiert automatisch eine Versionsnummer aus git und verwendet diese in Java

Was du machen willst

Referenzierte Site

Versionsnummern automatisch mit Gradle ~ Collaboration with git-description zuweisen grgit-gradle BuildConfig Gradle-plugin for Java and Groovy projects

Implementierung

build.gradle


plugins {
    id 'idea'
    id 'application'
    id 'org.ajoberstar.grgit' version '3.1.1'
    id 'de.fuerstenau.buildconfig' version '1.1.8'
}

group 'com.example'
version = {
    def tags = grgit.tag.list().collect { it.getName() }
    def versionStr
    if (tags.any { it ==~ /v\d.*/ }) {
        versionStr = grgit.describe(longDescr: false, tags: true, match: ["v[0-9]*"])
    } else {
        versionStr = grgit.head().abbreviatedId
    }
    return versionStr + (grgit.status().isClean() ? "" : "+dirty")
}()

repositories {
    mavenCentral()
}

task showVersion {
    doLast {
        println version
    }
}

mainClassName = 'Main'

Main.java


import com.example.BuildConfig;

public class Main {

    public static void main(String... args) {
        System.out.println(BuildConfig.VERSION);
    }
}

Ausführungsbeispiel

Wenn kein Tag vorhanden ist, das die Version angibt

2f9b747  //Hash festlegen

Wenn HEAD ein Tag hat, das die Version angibt

v0.1

Beim zusätzlichen Festschreiben von dem Tag, das die Version angibt

v0.0-10-g3636be7

Wenn es nicht festgeschriebene Änderungen gibt

v0.0-10-g3636be7+dirty

Recommended Posts

Gradle generiert automatisch eine Versionsnummer aus git und verwendet diese in Java
Implementieren Sie die Java-Schnittstelle in der JRuby-Klasse und rufen Sie sie von Java aus auf
Hallo Welt in Java und Gradle
JSON in Java und Jackson Teil ③ Betten Sie JSON in HTML ein und verwenden Sie es aus JavaScript
Erfassen und speichern Sie die Selen-Installation in Java
Generieren Sie OffsetDateTime aus Clock und LocalDateTime in Java
[Android-Entwicklung] Holen Sie sich mit Java Bilder vom Server und legen Sie sie in ImageView fest! !!
Schreiben Sie eine Klasse in Kotlin und nennen Sie sie in Java
Subtrahieren Sie Enum-Konstanten von Zeichenfolgen und Werten in Java zurück
JSON in Java und Jackson Teil 1 Gibt JSON vom Server zurück
[Kotlin] Holen Sie sich Java Constructor / Method von KFunction und rufen Sie es auf
Korrigieren Sie den Zeichencode in Java und lesen Sie von der URL
Ruft Attribute und Werte aus einer XML-Datei in Java ab
Java Version 8 und neuere Funktionen
Verwenden von Docker von Java Gradle
In Java 10, wenn Gradle Eclipse abgeschlossen ist und JavaSE-1.10 herauskommt, ...
Installieren Sie das memcached Plugin unter MySQL und greifen Sie von Java aus zu