summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-api/build.gradle.kts
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2022-05-18 18:17:03 +0200
committerGitHub <noreply@github.com>2022-05-18 18:17:03 +0200
commit61b6550d7a476ab1aae45a5b9385dfd6ca4f6b6f (patch)
tree8632e8e26e409b6909a0bd90488356b1dcd70ba6 /opendc-web/opendc-web-api/build.gradle.kts
parent00b5ee4bd423d8d9682a9ed9cd2af7c19a715459 (diff)
parentfb88cf197d9fe814e9692e7dafdc0d31b940acbc (diff)
merge: Add embedded experiment runner for dev mode (#87)
This pull request adds a new Quarkus extension that starts an embedded experiment runner while the user is in development mode. This allows users to deploy the entire OpenDC stack by using the `quarkusDev` command. By default, the experiment runner will only run experiments on one thread. Though, this setting is configurable. ## Implementation Notes :hammer_and_pick: * Use correct group for Gradle modules * Support client construction without AuthController * Move runner CLI into separate configuration * Remove module nesting in Quarkus extension * Add Quarkus extension for OpenDC runner * Add initial server distribution ## Breaking API Changes :warning: * N/A
Diffstat (limited to 'opendc-web/opendc-web-api/build.gradle.kts')
-rw-r--r--opendc-web/opendc-web-api/build.gradle.kts34
1 files changed, 32 insertions, 2 deletions
diff --git a/opendc-web/opendc-web-api/build.gradle.kts b/opendc-web/opendc-web-api/build.gradle.kts
index 5ef6009f..89b8273c 100644
--- a/opendc-web/opendc-web-api/build.gradle.kts
+++ b/opendc-web/opendc-web-api/build.gradle.kts
@@ -25,14 +25,17 @@ description = "REST API for the OpenDC website"
/* Build configuration */
plugins {
`quarkus-conventions`
+ distribution
}
dependencies {
implementation(enforcedPlatform(libs.quarkus.bom))
implementation(projects.opendcWeb.opendcWebProto)
- compileOnly(projects.opendcWeb.opendcWebUiQuarkus.deployment) /* Temporary fix for Quarkus/Gradle issues */
- implementation(projects.opendcWeb.opendcWebUiQuarkus.runtime)
+ compileOnly(projects.opendcWeb.opendcWebUiQuarkusDeployment) /* Temporary fix for Quarkus/Gradle issues */
+ compileOnly(projects.opendcWeb.opendcWebRunnerQuarkusDeployment)
+ implementation(projects.opendcWeb.opendcWebUiQuarkus)
+ implementation(projects.opendcWeb.opendcWebRunnerQuarkus)
implementation(libs.quarkus.kotlin)
implementation(libs.quarkus.resteasy.core)
@@ -56,3 +59,30 @@ dependencies {
testImplementation(libs.quarkus.test.security)
testImplementation(libs.quarkus.jdbc.h2)
}
+
+val createStartScripts by tasks.creating(CreateStartScripts::class) {
+ applicationName = "opendc-server"
+ mainClass.set("io.quarkus.bootstrap.runner.QuarkusEntryPoint")
+ classpath = files("lib/quarkus-run.jar")
+ outputDir = project.buildDir.resolve("scripts")
+}
+
+distributions {
+ create("server") {
+ distributionBaseName.set("opendc-server")
+
+ contents {
+ from("../../LICENSE.txt")
+ from("config") {
+ into("config")
+ }
+
+ from(createStartScripts) {
+ into("bin")
+ }
+ from(tasks.quarkusBuild) {
+ into("lib")
+ }
+ }
+ }
+}