67 lines
2.2 KiB
Groovy
67 lines
2.2 KiB
Groovy
plugins {
|
|
id 'net.fabricmc.fabric-loom'
|
|
}
|
|
|
|
group = rootProject.maven_group
|
|
version = rootProject.mod_version
|
|
base { archivesName = 'sanctuary' }
|
|
|
|
fabricApi {
|
|
configureTests {
|
|
createSourceSet = true
|
|
modId = 'sanctuary-gametest'
|
|
enableGameTests = true
|
|
enableClientGameTests = false
|
|
eula = false
|
|
}
|
|
}
|
|
|
|
// Every integration run must exercise fresh generation, never stale saved chunks.
|
|
tasks.register('cleanGameTestWorld', Delete) {
|
|
delete(layout.buildDirectory.dir('run/gameTest/world'))
|
|
}
|
|
tasks.named('runGameTest') { dependsOn('cleanGameTestWorld') }
|
|
|
|
dependencies {
|
|
minecraft "com.mojang:minecraft:${rootProject.minecraft_version}"
|
|
implementation "net.fabricmc:fabric-loader:${rootProject.loader_version}"
|
|
implementation "net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}"
|
|
}
|
|
|
|
java {
|
|
toolchain.languageVersion = JavaLanguageVersion.of(25)
|
|
withSourcesJar()
|
|
}
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
options.encoding = 'UTF-8'
|
|
options.release = 25
|
|
}
|
|
|
|
processResources {
|
|
// The launcher uses 26.3-pre-2; Fabric's runtime normalizes it to 26.3-pre.2.
|
|
def values = [version: project.version, minecraft_version: rootProject.minecraft_version,
|
|
minecraft_dependency_version: rootProject.minecraft_version.replace('-pre-', '-pre.'),
|
|
loader_version: rootProject.loader_version, fabric_api_version: rootProject.fabric_api_version]
|
|
inputs.properties(values)
|
|
filesMatching('fabric.mod.json') { expand(values) }
|
|
}
|
|
|
|
tasks.named('jar') {
|
|
from(rootProject.file('LICENSE')) { rename { 'LICENSE_sanctuary' } }
|
|
from(rootProject.file('THIRD_PARTY_NOTICES.md'))
|
|
}
|
|
|
|
tasks.register('worldgenSmoke', JavaExec) {
|
|
group = 'verification'
|
|
description = 'Check the guaranteed island core, density bounds and the surrounding void.'
|
|
dependsOn('testClasses')
|
|
classpath = sourceSets.test.runtimeClasspath
|
|
mainClass = 'fr.koka.sanctuary.worldgen.WorldgenSmoke'
|
|
}
|
|
|
|
tasks.named('check') { dependsOn('worldgenSmoke') }
|
|
|
|
// src/test contains a JavaExec assertion harness; engine tests use Fabric's gametest source set.
|
|
tasks.named('test') { failOnNoDiscoveredTests = false }
|