create versioning system
This commit is contained in:
parent
443a153024
commit
88802ece04
4 changed files with 40 additions and 6 deletions
28
build.gradle
28
build.gradle
|
@ -32,8 +32,6 @@ plugins {
|
|||
|
||||
apply plugin: 'io.github.fvarrui.javapackager.plugin'
|
||||
|
||||
version = "1.0"
|
||||
|
||||
repositories {
|
||||
// Use Maven Central for resolving dependencies.
|
||||
mavenCentral()
|
||||
|
@ -112,6 +110,28 @@ task pack(type: io.github.fvarrui.javapackager.gradle.PackageTask, dependsOn: bu
|
|||
}
|
||||
}
|
||||
|
||||
task createProperties(dependsOn: processResources) {
|
||||
doLast {
|
||||
def stdout = new ByteArrayOutputStream()
|
||||
|
||||
if (project.hasProperty("release")) {
|
||||
project.version = 1.0
|
||||
} else {
|
||||
exec {
|
||||
commandLine "git", "log", "-n", "1", "--pretty=format:\"%h\""
|
||||
standardOutput = stdout
|
||||
}
|
||||
project.version = "git(" + stdout.toString().trim().replaceAll("\"", "") + ")"
|
||||
}
|
||||
|
||||
new File("$buildDir/resources/main/xyz/brysonsteck/ServerCraft/info.properties").withWriter { w ->
|
||||
Properties p = new Properties()
|
||||
p['version'] = project.version.toString()
|
||||
p.store w, null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
build.doLast {
|
||||
if (OperatingSystem.current().isLinux()) {
|
||||
exec {
|
||||
|
@ -125,6 +145,10 @@ build.doLast {
|
|||
}
|
||||
}
|
||||
|
||||
classes {
|
||||
dependsOn createProperties
|
||||
}
|
||||
|
||||
javafx {
|
||||
version = "20"
|
||||
modules = ['javafx.controls', 'javafx.fxml', 'javafx.graphics']
|
||||
|
|
|
@ -4,12 +4,18 @@ import javafx.fxml.FXML
|
|||
import javafx.application.Platform
|
||||
import javafx.scene.Node
|
||||
import javafx.scene.control.Hyperlink
|
||||
import javafx.scene.control.Label
|
||||
import javafx.stage.Stage
|
||||
import javafx.event.ActionEvent
|
||||
import java.awt.Desktop
|
||||
import java.net.URI
|
||||
import java.util.Properties
|
||||
import xyz.brysonsteck.ServerCraft.App
|
||||
|
||||
class InfoController {
|
||||
@FXML
|
||||
lateinit private var version: Label
|
||||
|
||||
private val emails = mapOf(
|
||||
"bryson" to "me@brysonsteck.xyz"
|
||||
)
|
||||
|
@ -19,6 +25,13 @@ class InfoController {
|
|||
private val source = "https://codeberg.org/brysonsteck/ServerCraft"
|
||||
private val license = "https://www.gnu.org/licenses/gpl-3.0.html"
|
||||
|
||||
@FXML
|
||||
public fun initialize() {
|
||||
val props = Properties()
|
||||
props.load(App().javaClass.getResourceAsStream("info.properties"))
|
||||
version.text += props.getProperty("version")
|
||||
}
|
||||
|
||||
@FXML
|
||||
private fun openHyperlink(e: ActionEvent) {
|
||||
val link = e.source as Hyperlink
|
||||
|
@ -52,7 +65,6 @@ class InfoController {
|
|||
}
|
||||
}
|
||||
split[0].equals("license") -> {
|
||||
println("license")
|
||||
if (!os.contains("linux")) {
|
||||
desktop.browse(URI(license))
|
||||
} else {
|
||||
|
|
|
@ -54,14 +54,12 @@ class Download: Runnable {
|
|||
|
||||
// Make sure response code is in the 200 range.
|
||||
if (connection.responseCode / 100 != 2) {
|
||||
println(connection.responseCode)
|
||||
status = Status.ERROR
|
||||
}
|
||||
|
||||
// Check for valid content length.
|
||||
contentLength = connection.getContentLength();
|
||||
if (contentLength < 1) {
|
||||
println(connection.getContentLength())
|
||||
status = Status.ERROR
|
||||
}
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
<Font name="System Bold" size="28.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<Label layoutX="146.0" layoutY="82.0" text="Version 1.0" />
|
||||
<Label fx:id="version" layoutX="146.0" layoutY="82.0" text="Version " />
|
||||
<ButtonBar layoutY="318.0" prefHeight="40.0" prefWidth="398.0">
|
||||
<buttons>
|
||||
<Button mnemonicParsing="false" onAction="#closeInfo" text="Close" />
|
||||
|
|
Loading…
Add table
Reference in a new issue