summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-api/build.gradle.kts
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2022-07-30 12:15:10 +0200
committerFabian Mastenbroek <mail.fabianm@gmail.com>2022-08-03 11:54:44 +0200
commita01f964b531f12fd89cbdb0f2132aecbfaebf546 (patch)
tree4a2c3795d3d1ae394e9ab785b9229ab6e14ccbdf /opendc-web/opendc-web-api/build.gradle.kts
parent41b0ed59421b301bac652e47d1a2909145aa5936 (diff)
refactor(web/server): Create standalone OpenDC distribution
This change updates the Quarkus configuration of the OpenDC web server to serve as a fully standalone distribution that is capable of serving the web UI, web API, and experiment runner. Such an approach vastly simplifies local deployments. For Docker deployments, we create a custom Quarkus profile that uses PostgreSQL and disables the web UI.
Diffstat (limited to 'opendc-web/opendc-web-api/build.gradle.kts')
-rw-r--r--opendc-web/opendc-web-api/build.gradle.kts88
1 files changed, 0 insertions, 88 deletions
diff --git a/opendc-web/opendc-web-api/build.gradle.kts b/opendc-web/opendc-web-api/build.gradle.kts
deleted file mode 100644
index 89b8273c..00000000
--- a/opendc-web/opendc-web-api/build.gradle.kts
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 2020 AtLarge Research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-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.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)
- implementation(libs.quarkus.resteasy.jackson)
- implementation(libs.jackson.module.kotlin)
- implementation(libs.quarkus.smallrye.openapi)
-
- implementation(libs.quarkus.security)
- implementation(libs.quarkus.oidc)
-
- implementation(libs.quarkus.hibernate.orm)
- implementation(libs.quarkus.hibernate.validator)
- implementation(libs.quarkus.jdbc.postgresql)
- quarkusDev(libs.quarkus.jdbc.h2)
-
- testImplementation(libs.quarkus.junit5.core)
- testImplementation(libs.quarkus.junit5.mockk)
- testImplementation(libs.quarkus.jacoco)
- testImplementation(libs.restassured.core)
- testImplementation(libs.restassured.kotlin)
- 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")
- }
- }
- }
-}