Parallelized mod builds

- Mod targets run through bounded Gradle workers with separate caches and daemon slots
- Target logs retain verification failures and bounded output summaries
- Nested tests use bounded forks and JVM thread counts
- Lifecycle tests control deadlines through injected clocks
This commit is contained in:
Brian Neumann-Fopiano committed 2026-10-21 02:53:00 -04:00
1 parent d7059d84a4
commit fc810221bb
17 files changed
+447 -61

No files matched your search

+6
View File
@@ -2,11 +2,17 @@ import groovy.json.JsonSlurper
List<String> sourceOverlays = (List<String>) irisModTarget.overlays
List<File> adapterSourceRoots = [projectDir, file('../modded-common'), file('../client-common')]
int testForks = Math.max(1, Integer.parseInt(providers.gradleProperty('testForks').getOrElse('2')))
tasks.named('compileTestJava', JavaCompile).configure {
options.release.set((int) irisModTarget.java)
}
tasks.withType(Test).configureEach {
maxParallelForks = Math.min(2, Math.min(Runtime.runtime.availableProcessors(),
Math.min(gradle.startParameter.maxWorkerCount, testForks)))
if (gradle.extensions.extraProperties.has('irisBuildLane')) {
jvmArgs('-XX:ParallelGCThreads=2', '-XX:ConcGCThreads=1', '-XX:CICompilerCount=2')
}
javaLauncher.set(javaToolchains.launcherFor {
languageVersion = JavaLanguageVersion.of((int) irisModTarget.java)
})