Determine application version by calling git describe
This commit is contained in:
parent
fae31308e0
commit
d09cd0f37e
3 changed files with 26 additions and 5 deletions
|
@ -6,8 +6,17 @@ plugins {
|
||||||
id("com.github.johnrengelman.shadow") version "latest.release"
|
id("com.github.johnrengelman.shadow") version "latest.release"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun versionBanner(): String {
|
||||||
|
val os = org.apache.commons.io.output.ByteArrayOutputStream()
|
||||||
|
project.exec {
|
||||||
|
commandLine = "git describe --always --dirty".split(" ")
|
||||||
|
standardOutput = os
|
||||||
|
}
|
||||||
|
return String(os.toByteArray()).trim()
|
||||||
|
}
|
||||||
|
|
||||||
group = "de.jotoho"
|
group = "de.jotoho"
|
||||||
version = "0.1.1"
|
version = versionBanner()
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
// Use Maven Central for resolving dependencies.
|
// Use Maven Central for resolving dependencies.
|
||||||
|
|
|
@ -7,4 +7,4 @@
|
||||||
* in the user manual at https://docs.gradle.org/7.2/userguide/multi_project_builds.html
|
* in the user manual at https://docs.gradle.org/7.2/userguide/multi_project_builds.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
rootProject.name = "de.jotoho.waituntil"
|
rootProject.name = "waituntil"
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package de.jotoho.waituntil;
|
package de.jotoho.waituntil;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.HashSet;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import static de.jotoho.waituntil.GlobalConf.applicationOutputLanguage;
|
import static de.jotoho.waituntil.GlobalConf.applicationOutputLanguage;
|
||||||
|
|
||||||
|
@ -35,8 +36,19 @@ public final class Main {
|
||||||
}
|
}
|
||||||
} else if (options.contains("version")) {
|
} else if (options.contains("version")) {
|
||||||
final var thisPackage = Main.class.getPackage();
|
final var thisPackage = Main.class.getPackage();
|
||||||
final var appVersion = thisPackage.getImplementationVersion() != null ? thisPackage.getImplementationVersion() :"UNKNOWN";
|
final var appVersion = thisPackage.getImplementationVersion() != null
|
||||||
System.out.println("de.jotoho.waituntil version " + appVersion);
|
? thisPackage.getImplementationVersion()
|
||||||
|
: "version unknown";
|
||||||
|
System.out.println("waituntil " + appVersion);
|
||||||
|
System.out.println("""
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify it under the terms of the
|
||||||
|
GNU General Public License as published by the Free Software Foundation, either version 3 of the
|
||||||
|
License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||||
|
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
See the GNU General Public License for more details.""");
|
||||||
} else if (words.size() == 1) {
|
} else if (words.size() == 1) {
|
||||||
final var target = TimeCalculator.calculateAndAnnounceTargetTime(words.iterator().next());
|
final var target = TimeCalculator.calculateAndAnnounceTargetTime(words.iterator().next());
|
||||||
Sleep.waitUntilTimeStamp(target);
|
Sleep.waitUntilTimeStamp(target);
|
||||||
|
|
Loading…
Reference in a new issue