saltatory/server/build.gradle
ms2k 84fccc92ab Optimize world generation with version-gated runtime hooks
Select density shortcuts from compiler expressions, defer cave noise interpolation, and index biome and terrain searches. Reuse upstream feature and LOD methods, cache native noise and static light values, and synchronize fluid offset snapshots. Include upstream license notices and compatibility checks.
2026-11-09 22:08:00 +09:00

89 lines
3.1 KiB
Groovy

version = '0.42.1'
base.archivesName = 'saltatory'
repositories {
ivy {
url = 'https://github.com/tlaplus/tlaplus/releases/download'
patternLayout { artifact '[revision]/[artifact].[ext]' }
metadataSources { artifact() }
content { includeModule 'org.lamport', 'tla2tools' }
}
maven {
url = 'https://maven.blamejared.com/'
content { includeGroup 'com.hrznstudio' }
}
maven {
url = 'https://modmaven.dev/'
content { includeGroup 'mekanism' }
}
maven {
url = 'https://www.cursemaven.com'
content { includeGroup 'curse.maven' }
}
maven {
url = 'https://api.modrinth.com/maven'
content { includeGroup 'maven.modrinth' }
}
}
sourceSets {
probe {
compileClasspath += sourceSets.main.output + configurations.compileClasspath
}
}
configurations { c2me }
def dfcJar = providers.provider {
zipTree(configurations.c2me.singleFile).matching {
include 'META-INF/jars/*-opts-dfc-*.jar'
}.files
}
dependencies {
c2me('curse.maven:c2me-533097:9344813') { transitive = false }
compileOnly files(dfcJar)
testImplementation files(dfcJar)
compileOnly('mekanism:Mekanism:1.21.1-10.7.19.85') { transitive = false }
compileOnly('curse.maven:functional-storage-556861:8459097') { transitive = false }
compileOnly('maven.modrinth:refined-storage:lHHiI26k') { transitive = false }
compileOnly('maven.modrinth:distanthorizons:9w34y8ai') { transitive = false }
compileOnly 'org.jetbrains:annotations:24.1.0'
compileOnly 'org.apiguardian:apiguardian-api:1.1.2'
compileOnly 'io.github.llamalad7:mixinextras-neoforge:0.5.3'
probeCompileOnly('com.hrznstudio:titanium:1.21-4.0.43') { transitive = false }
testImplementation 'it.unimi.dsi:fastutil:8.5.12'
testImplementation('org.lamport:tla2tools:v1.7.4') { transitive = false }
}
tasks.named('quality') { dependsOn 'checkstyleProbe' }
tasks.named('checkstyleProbe') {
dependsOn 'compileProbeJava'
classpath = sourceSets.probe.compileClasspath
}
tasks.named('test') { inputs.dir('src/test/tla') }
tasks.named('processProbeResources') {
inputs.property 'version', provider { project.version.toString() }
filesMatching('META-INF/neoforge.mods.toml') { expand version: project.version.toString() }
dependsOn 'test'
['Slots', 'SlotOverflow', 'Traits'].each { name ->
from(layout.buildDirectory.dir("reports/models/${name}")) {
include 'cases.jsonl', 'stats.json'
eachFile { entry -> entry.path = "cases/${name}." + (entry.name == 'cases.jsonl' ? 'jsonl' : 'json') }
}
}
from({ zipTree(configurations.compileClasspath.resolvedConfiguration.resolvedArtifacts.find {
it.moduleVersion.id.group == 'mekanism' && it.name == 'Mekanism'
}.file) }) {
include 'mekanism/common/content/transporter/TransporterManager*.class'
into 'baseline'
}
}
tasks.register('probeJar', Jar) {
dependsOn 'quality', 'probeClasses'
archiveBaseName = 'saltatory-checks'
destinationDirectory = layout.buildDirectory.dir('probe')
from sourceSets.probe.output
}