Merge branch 'modularize' into master
This branch introduces some configuration that enables Java 9 modules in this project, adds a GPL copyright disclaimer to the output of --version flag and makes changes to gradle that make the application version dynamically assigned using git information and the "git describe" command. Closes #16
This commit is contained in:
commit
3566b52698
4 changed files with 33 additions and 8 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.
|
||||||
|
@ -22,9 +31,10 @@ java {
|
||||||
tasks.jar {
|
tasks.jar {
|
||||||
manifest {
|
manifest {
|
||||||
attributes(
|
attributes(
|
||||||
"Implementation-Title" to "de.jotoho.waituntil",
|
"Implementation-Title" to project.name,
|
||||||
"Implementation-Version" to "${project.version}",
|
"Implementation-Version" to project.version,
|
||||||
"Main-Class" to "de.jotoho.waituntil.Main"
|
"Main-Class" to "de.jotoho.waituntil.Main",
|
||||||
|
"Main-Module" to "de.jotoho.waituntil.main"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,4 +42,5 @@ tasks.jar {
|
||||||
application {
|
application {
|
||||||
// Define the main class for the application.
|
// Define the main class for the application.
|
||||||
mainClass.set("de.jotoho.waituntil.Main")
|
mainClass.set("de.jotoho.waituntil.Main")
|
||||||
|
mainModule.set("de.jotoho.waituntil.main")
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
|
2
src/main/java/module-info.java
Normal file
2
src/main/java/module-info.java
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
module de.jotoho.waituntil.main {
|
||||||
|
}
|
Loading…
Reference in a new issue