From cdb8036bfaebbc48d98cc9cf7fb6e888eb153c1e Mon Sep 17 00:00:00 2001
From: "stu126940@mail.uni-kiel.de" <stu126940@mail.uni-kiel.de>
Date: Tue, 9 Mar 2021 21:51:05 +0100
Subject: [PATCH] Restructure: Create main methods inside the
 TheodliteYamlExecutor

---
 .../src/main/kotlin/theodolite/Main.kt        | 19 -------------------
 .../execution/TheodoliteYamlExecutor.kt       | 12 ++++++++++--
 .../src/main/resources/application.properties |  1 +
 3 files changed, 11 insertions(+), 21 deletions(-)
 delete mode 100644 theodolite-quarkus/src/main/kotlin/theodolite/Main.kt

diff --git a/theodolite-quarkus/src/main/kotlin/theodolite/Main.kt b/theodolite-quarkus/src/main/kotlin/theodolite/Main.kt
deleted file mode 100644
index 2d2332fc4..000000000
--- a/theodolite-quarkus/src/main/kotlin/theodolite/Main.kt
+++ /dev/null
@@ -1,19 +0,0 @@
-package theodolite
-
-import io.quarkus.runtime.annotations.QuarkusMain
-import mu.KotlinLogging
-import theodolite.execution.TheodoliteYamlExecutor
-import kotlin.system.exitProcess
-
-private val logger = KotlinLogging.logger {}
-
-@QuarkusMain
-object Main {
-    @JvmStatic
-    fun main(args: Array<String>) {
-        logger.info { "Theodolite started" }
-        TheodoliteYamlExecutor().run()
-        logger.info { "Theodolite finished" }
-        exitProcess(0)
-    }
-}
diff --git a/theodolite-quarkus/src/main/kotlin/theodolite/execution/TheodoliteYamlExecutor.kt b/theodolite-quarkus/src/main/kotlin/theodolite/execution/TheodoliteYamlExecutor.kt
index a81afd722..ecc202542 100644
--- a/theodolite-quarkus/src/main/kotlin/theodolite/execution/TheodoliteYamlExecutor.kt
+++ b/theodolite-quarkus/src/main/kotlin/theodolite/execution/TheodoliteYamlExecutor.kt
@@ -1,11 +1,18 @@
 package theodolite.execution
 
+import io.quarkus.runtime.annotations.QuarkusMain
+import mu.KotlinLogging
 import theodolite.benchmark.BenchmarkExecution
 import theodolite.benchmark.KubernetesBenchmark
 import theodolite.util.YamlParser
+private val logger = KotlinLogging.logger {}
+
+@QuarkusMain(name = "TheodoliteYamlExecutor")
+object TheodoliteYamlExecutor {
+    @JvmStatic
+    fun main(args: Array<String>) {
+        logger.info { "Theodolite started" }
 
-class TheodoliteYamlExecutor {
-    fun run() {
         // load the BenchmarkExecution and the BenchmarkType
         val parser = YamlParser()
         val benchmarkExecution =
@@ -15,5 +22,6 @@ class TheodoliteYamlExecutor {
 
         val executor = TheodoliteExecutor(benchmarkExecution, benchmark)
         executor.run()
+        logger.info { "Theodolite finished" }
     }
 }
diff --git a/theodolite-quarkus/src/main/resources/application.properties b/theodolite-quarkus/src/main/resources/application.properties
index e69de29bb..869bd94ce 100644
--- a/theodolite-quarkus/src/main/resources/application.properties
+++ b/theodolite-quarkus/src/main/resources/application.properties
@@ -0,0 +1 @@
+quarkus.package.main-class=TheodoliteYamlExecutor
\ No newline at end of file
-- 
GitLab