From 01f1d2ee56d4619d49dc63327712e0c847c09641 Mon Sep 17 00:00:00 2001 From: ImUrX Date: Wed, 14 Jun 2023 13:49:18 -0300 Subject: [PATCH] im having so much fun --- build.gradle.kts | 20 +---------- server/android/build.gradle.kts | 34 +++++-------------- .../src/main/java/dev/slimevr/android/Main.kt | 3 +- server/desktop/build.gradle.kts | 17 ++++++---- settings.gradle.kts | 5 ++- 5 files changed, 23 insertions(+), 56 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index f46ea758e..475d97183 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,21 +1,3 @@ -buildscript { - repositories { - mavenCentral() - } - dependencies { - classpath("org.jetbrains.kotlinx:atomicfu-gradle-plugin:0.20.2") - } -} - plugins { - kotlin("jvm") apply false + id("org.ajoberstar.grgit") version "5.2.0" } - -subprojects { - plugins.apply("kotlinx-atomicfu") -} - -repositories { - mavenCentral() -} - diff --git a/server/android/build.gradle.kts b/server/android/build.gradle.kts index 82b3c20a2..98e8a0950 100644 --- a/server/android/build.gradle.kts +++ b/server/android/build.gradle.kts @@ -6,14 +6,14 @@ * User Manual available at https://docs.gradle.org/6.3/userguide/java_library_plugin.html */ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile -import java.io.ByteArrayOutputStream plugins { + kotlin("android") kotlin("plugin.serialization") id("com.github.gmazzo.buildconfig") id("com.android.application") version "8.0.2" - id("org.jetbrains.kotlin.android") + id("org.ajoberstar.grgit") } kotlin { @@ -83,6 +83,10 @@ dependencies { * build options. */ +extra.apply { + set("gitVersionCode", grgit.tag.list().size) + set("gitVersionName", grgit.describe(mapOf("tags" to true, "always" to true))) +} android { /** * The app's namespace. Used primarily to access app resources. @@ -121,10 +125,10 @@ android { targetSdk = 33 // Defines the version number of your app. - versionCode = 8 + versionCode = extra["gitVersionCode"] as? Int // Defines a user-friendly version name for your app. - versionName = "0.8.0-rc.1" + versionName = extra["gitVersionName"] as? String testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } @@ -161,25 +165,3 @@ android { jvmTarget = "17" } } - -fun String.runCommand(currentWorkingDir: File = file("./")): String { - val byteOut = ByteArrayOutputStream() - project.exec { - workingDir = currentWorkingDir - commandLine = this@runCommand.split("\\s".toRegex()) - standardOutput = byteOut - } - return String(byteOut.toByteArray()).trim() -} - -buildConfig { - val gitCommitHash = "git rev-parse --verify --short HEAD".runCommand().trim() - val gitVersionTag = "git --no-pager tag --points-at HEAD".runCommand().trim() - val gitClean = "git status --porcelain".runCommand().trim().isEmpty() - useKotlinOutput { topLevelConstants = true } - packageName("dev.slimevr.android") - - buildConfigField("String", "GIT_COMMIT_HASH", "\"${gitCommitHash}\"") - buildConfigField("String", "GIT_VERSION_TAG", "\"${gitVersionTag}\"") - buildConfigField("boolean", "GIT_CLEAN", gitClean.toString()) -} diff --git a/server/android/src/main/java/dev/slimevr/android/Main.kt b/server/android/src/main/java/dev/slimevr/android/Main.kt index 1d543beca..61716f4c8 100644 --- a/server/android/src/main/java/dev/slimevr/android/Main.kt +++ b/server/android/src/main/java/dev/slimevr/android/Main.kt @@ -3,6 +3,7 @@ package dev.slimevr.android import androidx.appcompat.app.AppCompatActivity +import dev.slimevr.Keybinding import dev.slimevr.VRServer import io.eiren.util.logging.LogManager import io.ktor.http.CacheControl @@ -19,7 +20,6 @@ import java.time.ZonedDateTime import kotlin.concurrent.thread import kotlin.system.exitProcess -val VERSION = "v0.8.0-rc.1/android" lateinit var vrServer: VRServer private set val vrServerInitialized: Boolean @@ -44,7 +44,6 @@ fun main(activity: AppCompatActivity) { } catch (e1: java.lang.Exception) { e1.printStackTrace() } - LogManager.info("Running version $VERSION") try { vrServer = VRServer(File(activity.filesDir, "vrconfig.yml").absolutePath) vrServer.start() diff --git a/server/desktop/build.gradle.kts b/server/desktop/build.gradle.kts index 6cde57c0b..fb9c22850 100644 --- a/server/desktop/build.gradle.kts +++ b/server/desktop/build.gradle.kts @@ -13,6 +13,7 @@ plugins { application id("com.github.johnrengelman.shadow") id("com.github.gmazzo.buildconfig") + id("org.ajoberstar.grgit") } kotlin { @@ -93,15 +94,19 @@ fun String.runCommand(currentWorkingDir: File = file("./")): String { } buildConfig { - val gitCommitHash = "git rev-parse --verify --short HEAD".runCommand().trim() - val gitVersionTag = "git --no-pager tag --points-at HEAD".runCommand().trim() - val gitClean = "git status --porcelain".runCommand().trim().isEmpty() useKotlinOutput { topLevelConstants = true } packageName("dev.slimevr.desktop") - buildConfigField("String", "GIT_COMMIT_HASH", "\"${gitCommitHash}\"") - buildConfigField("String", "GIT_VERSION_TAG", "\"${gitVersionTag}\"") - buildConfigField("boolean", "GIT_CLEAN", gitClean.toString()) + val gitVersionTag = grgit.describe(mapOf( + "tags" to true, + "abbrev" to 0, + )) + val latestCommitTag = + grgit.tag.list().find { it.name == gitVersionTag }!!.commit.abbreviatedId == grgit.head().abbreviatedId + val gitLatestVersionTag = if (latestCommitTag) { gitVersionTag} else { "" } + buildConfigField("String", "GIT_COMMIT_HASH", "\"${grgit.head().abbreviatedId}\"") + buildConfigField("String", "GIT_VERSION_TAG", "\"${gitLatestVersionTag}\"") + buildConfigField("boolean", "GIT_CLEAN", grgit.status().isClean.toString()) } tasks.getByName("run", JavaExec::class) { diff --git a/settings.gradle.kts b/settings.gradle.kts index c09f5e2f3..37b5f736a 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -23,8 +23,7 @@ pluginManagement { plugins { kotlin("plugin.serialization") version kotlinVersion kotlin("jvm") version kotlinVersion - id("org.jetbrains.kotlin.android") version kotlinVersion - id("org.jetbrains.kotlin.jvm") version kotlinVersion + kotlin("android") version kotlinVersion id("com.diffplug.spotless") version spotlessVersion id("com.github.johnrengelman.shadow") version shadowJarVersion id("com.github.gmazzo.buildconfig") version buildconfigVersion @@ -38,4 +37,4 @@ include(":server") project(":server").projectDir = File("server") include(":server:core") include(":server:desktop") -//include(":server:android") +include(":server:android")