Files
sanctuary-beta/mods/sanctuary/build.gradle
T
koka e48de1b400
Build Sanctuary / build (push) Canceled after 0s
Initialize Sanctuary Fabric 26.3 prototype and pack
2026-09-08 03:24:19 +02:00

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 }