plugins { `java-gradle-plugin` kotlin("jvm") version "1.8.0" kotlin("plugin.serialization") version "1.8.0" } repositories { mavenCentral() maven("https://maven.neoforged.net/releases") maven("https://maven.fabricmc.net") } dependencies { implementation("net.neoforged:artifactural:3.0.17") implementation(platform("org.jetbrains.kotlin:kotlin-bom")) implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.2") implementation("net.fabricmc:mapping-io:0.1.8") implementation("net.fabricmc:tiny-remapper:0.8.6") testImplementation("org.jetbrains.kotlin:kotlin-test") testImplementation("org.jetbrains.kotlin:kotlin-test-junit") } gradlePlugin { val greeting by plugins.creating { id = "moe.nea.archenemy.greeting" implementationClass = "moe.nea.archenemy.ArchenemyGreetingPlugin" } val mojang by plugins.creating { id = "moe.nea.archenemy.mojang" implementationClass = "moe.nea.archenemy.mojang.ArchenemyMojangPlugin" } } // Add a source set for the functional test suite val functionalTestSourceSet = sourceSets.create("functionalTest") { } configurations["functionalTestImplementation"].extendsFrom(configurations["testImplementation"]) // Add a task to run the functional tests val functionalTest by tasks.registering(Test::class) { testClassesDirs = functionalTestSourceSet.output.classesDirs classpath = functionalTestSourceSet.runtimeClasspath } gradlePlugin.testSourceSets(functionalTestSourceSet) tasks.named("check") { // Run the functional tests as part of `check` dependsOn(functionalTest) }