diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2022-05-18 18:17:03 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-18 18:17:03 +0200 |
| commit | 61b6550d7a476ab1aae45a5b9385dfd6ca4f6b6f (patch) | |
| tree | 8632e8e26e409b6909a0bd90488356b1dcd70ba6 /opendc-web/opendc-web-api/build.gradle.kts | |
| parent | 00b5ee4bd423d8d9682a9ed9cd2af7c19a715459 (diff) | |
| parent | fb88cf197d9fe814e9692e7dafdc0d31b940acbc (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.kts | 34 |
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") + } + } + } +} |
