aboutsummaryrefslogtreecommitdiff
path: root/addon.gradle
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2023-12-06 16:41:24 +0900
committerGitHub <noreply@github.com>2023-12-06 16:41:24 +0900
commitb527397a391b0f95d066e53b891afa902cd38ca2 (patch)
treeec26f92d7c0eeef665cd429d8f459dc32c697791 /addon.gradle
parent93a498be21d2dad69bfd036bd33f28e9eeb60e6e (diff)
downloadGT5-Unofficial-b527397a391b0f95d066e53b891afa902cd38ca2.tar.gz
GT5-Unofficial-b527397a391b0f95d066e53b891afa902cd38ca2.tar.bz2
GT5-Unofficial-b527397a391b0f95d066e53b891afa902cd38ca2.zip
Add unit test for recipe search (#2394)
Diffstat (limited to 'addon.gradle')
-rw-r--r--addon.gradle40
1 files changed, 40 insertions, 0 deletions
diff --git a/addon.gradle b/addon.gradle
index edd0b173a3..f760bb1537 100644
--- a/addon.gradle
+++ b/addon.gradle
@@ -39,3 +39,43 @@ minecraft {
injectedTags.put 'VERSION_PATCH', vPatch
project.logger.log(logLevel, 'Using ({}, {}, {}) as NBT version', vMajor, vMinor, vPatch)
}
+
+SourceSet functionalTestSet = null
+
+sourceSets {
+ functionalTestSet = create("functionalTest") {
+ java {
+ srcDir("src/functionalTest/java")
+ compileClasspath += sourceSets.patchedMc.output + sourceSets.main.output
+ }
+ }
+}
+
+configurations { configs ->
+ // Keep all dependencies from the main mod in the functional test mod
+ named(functionalTestSet.compileClasspathConfigurationName).configure {it.extendsFrom(named("compileClasspath").get())}
+ named(functionalTestSet.runtimeClasspathConfigurationName).configure {it.extendsFrom(named("runtimeClasspath").get())}
+ named(functionalTestSet.annotationProcessorConfigurationName).configure {it.extendsFrom(named("annotationProcessor").get())}
+}
+
+tasks.register(functionalTestSet.jarTaskName, Jar) {
+ from(functionalTestSet.output)
+ archiveClassifier.set("functionalTests")
+ // we don't care about the version number here, keep it stable to avoid polluting the tmp directory
+ archiveVersion.set("1.0")
+ destinationDirectory.set(new File(buildDir, "tmp"))
+}
+tasks.named("assemble").configure {
+ dependsOn(functionalTestSet.jarTaskName)
+}
+
+// Run tests in the default runServer/runClient configurations
+tasks.named("runServer", JavaExec).configure {
+ dependsOn(functionalTestSet.jarTaskName)
+ classpath(configurations.named(functionalTestSet.runtimeClasspathConfigurationName), tasks.named(functionalTestSet.jarTaskName))
+}
+
+tasks.named("runClient", JavaExec).configure {
+ dependsOn(functionalTestSet.jarTaskName)
+ classpath(configurations.named(functionalTestSet.runtimeClasspathConfigurationName), tasks.named(functionalTestSet.jarTaskName))
+}