/ / build_grading verzie založené na git - git, groovy, grale

build.grading verzie založené na git - git, groovy, grale

Ja som modrárka a používam to ForgeGradle plugin na vytvorenie mojich modov.

Momentálne sa pokúšam nastaviť schému verzie založenú na mojich revíziách a hash.Vzhľadom na systém PKGBUILD, ktorý používam linux, by som použil:

pkgver() {
cd $_pkgbase
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}

čo by skončilo s niečím podobným r392.2cc2ebc

Pokúšam sa s týmito krokmi:

ext.revision = "git rev-list --count HEAD".execute()
ext.hash     = "git rev-parse --short HEAD".execute()
version      = "r${revision.text}.${hash.text}"

čo mi prináša takmer to, čo potrebujem, r70?.11ae542?; nie ste si istí, ako sa zbaviť ? v každej časti verzie. Gradle 2.0, návrhy?

Ďalšie vyšetrovanie kvôli Peter Niederwieser"komentár ma viedol k spusteniu stavať s informačným príznakom a zdá sa, že nové linky sa zaseknú do názvu súboru:

Executing task ":reobf" (up-to-date check took 0.004 secs) due to:
Output file build/libs/CreepyPastaCraft-1.7.x-r70
.11ae542
-universal.jar has changed.

odpovede:

8 pre odpoveď č. 1

No, ako Peter odmietol zmeniť svoj komentár na odpoveď, odpoviem na svoju vlastnú otázku v prospech ostatných, ktorí sa snažia robiť to isté:

ext.revision = "git rev-list --count HEAD".execute().text.trim()
ext.hash = "git rev-parse --short HEAD".execute().text.trim()
version = "r${revision}.${hash}"

To znižuje rovnaký výsledok ako výraz bash v mojej otázke.


1 pre odpoveď č. 2

Ak sa vám táto verzia považuje za aktuálne skontrolovanú referenčnú skratku (názov pobočky alebo názov značky), je to všetko, čo je potrebné:

version "git rev-parse --abbrev-ref HEAD".execute().getText().trim()

Toto však nastaví verziu ako "HEAD", ak hlava nie je vetva alebo značka. Ak sa vám bude páčiť, že verzia bude založená na krátkom hash za týchto okolností, môžete urobiť nasledovné:

version "git rev-parse --abbrev-ref HEAD".execute().getText().trim()
if (version.equals("HEAD")) {
version "git rev-parse --short HEAD".execute().getText().trim()
}