Split server and client modules and rename project to Saltatory

This commit is contained in:
ms2k 2026-10-18 20:33:45 +09:00
commit eccb914dcb

77
server/build.gradle Normal file
View file

@ -0,0 +1,77 @@
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
}
}
dependencies {
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 '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
}