// SPDX-FileCopyrightText: 2026 Echolot contributors // SPDX-License-Identifier: GPL-3.0-or-later plugins { alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.serialization) } // The measurement run engine: composes core-protocol probes into // core-measurement documents. Pure Kotlin/JVM, so it is unit-testable and can // run a full server-facing measurement against a live server. dependencies { implementation(project(":core-protocol")) implementation(project(":core-measurement")) implementation(libs.kotlinx.serialization.json) testImplementation(kotlin("test")) } kotlin { jvmToolchain(21) compilerOptions { jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17) } } java { sourceCompatibility = JavaVersion.VERSION_17; targetCompatibility = JavaVersion.VERSION_17 } tasks.test { useJUnitPlatform() listOf("ECHOLOT_LIVE_URL","ECHOLOT_LIVE_PIN","ECHOLOT_LIVE_CRED","ECHOLOT_LIVE_UDP","ECHOLOT_LIVE_TARGET") .forEach { k -> System.getenv(k)?.let { environment(k, it) } } }