summaryrefslogtreecommitdiff
path: root/buildSrc/src/main/kotlin/experiment-conventions.gradle.kts
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2021-05-05 12:23:25 +0200
committerGitHub <noreply@github.com>2021-05-05 12:23:25 +0200
commite1d892bcbaa7e8361c150f684ca6a0dc5e036a87 (patch)
tree99742afbc3cd762ec527f5a6c7e31ee245ee0385 /buildSrc/src/main/kotlin/experiment-conventions.gradle.kts
parente021d46ab1601d0c3a00724358164483608f6297 (diff)
parent7fdfe48439f33abec8aa63fc4ab36fd687d59a43 (diff)
harness: Improve OpenDC Experiment Harness (v1)
This pull request contains several improvements to the OpenDC Experiment Harness, which aims to improve user-experience of users when re-running experiments in the repository. * Split the harness into separate modules * Add support for adding additional classpath entries when running experiments via the console * Initial support for configuration of experiments using HOCON.
Diffstat (limited to 'buildSrc/src/main/kotlin/experiment-conventions.gradle.kts')
-rw-r--r--buildSrc/src/main/kotlin/experiment-conventions.gradle.kts23
1 files changed, 22 insertions, 1 deletions
diff --git a/buildSrc/src/main/kotlin/experiment-conventions.gradle.kts b/buildSrc/src/main/kotlin/experiment-conventions.gradle.kts
index 4745ff1a..580f67cb 100644
--- a/buildSrc/src/main/kotlin/experiment-conventions.gradle.kts
+++ b/buildSrc/src/main/kotlin/experiment-conventions.gradle.kts
@@ -1,3 +1,5 @@
+import gradle.kotlin.dsl.accessors._9bf86420fccbde1948375f641de89b70.sourceSets
+
/*
* Copyright (c) 2021 AtLarge Research
*
@@ -22,10 +24,12 @@
plugins {
`java-library`
+ distribution
+ id("com.github.johnrengelman.shadow")
}
dependencies {
- implementation(project(":opendc-harness"))
+ runtimeOnly(project(":opendc-harness:opendc-harness-junit5"))
}
tasks.register<Test>("experiment") {
@@ -38,3 +42,20 @@ tasks.register<Test>("experiment") {
testClassesDirs = sourceSets["main"].output.classesDirs
classpath = sourceSets["main"].runtimeClasspath
}
+
+distributions {
+ create("experiment") {
+ contents {
+ from("README.md")
+ from(tasks.shadowJar.get())
+ }
+ }
+}
+
+tasks.shadowJar {
+ dependencies {
+ // Do not include the JUnit 5 runner in the final shadow jar, since it is only necessary for development
+ // inside IDE
+ exclude(project(":opendc-harness:opendc-harness-junit5"))
+ }
+}