From 2d60898744e526f60f9590c120b903d0e22f2891 Mon Sep 17 00:00:00 2001 From: Brian Neumann-Fopiano Date: Wed, 21 Oct 2026 21:35:06 -0400 Subject: [PATCH] Native noise packaging - Exclude native noise classes and libraries from Java 21 runtime jars - Map the probe native library and policy properties to the native noise loader --- core/build.gradle | 4 ++++ probe/build.gradle | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/core/build.gradle b/core/build.gradle index ba53e472a..e1f266c2f 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -476,6 +476,10 @@ tasks.named('shadowJar', ShadowJar).configure { if (providers.gradleProperty('irisRuntimeJava').getOrElse(rootProject.irisModTarget.java.toString()) == '21') { exclude('art/arcane/volmlib/util/noise/NativeBillowLoader*.class') exclude('art/arcane/volmlib/util/noise/BillowBatch*.class') + exclude('art/arcane/volmlib/util/noise/NativeNoiseLibrary*.class') + exclude('art/arcane/volmlib/util/noise/program/NativeNoise*.class') + exclude('art/arcane/volmlib/util/noise/program/NativeProgramEncoder*.class') + exclude('art/arcane/volmlib/native/**') } // minimize() stays off. Caffeine reaches its 520 generated cache and node classes through // MethodHandles.Lookup.findClass on a computed name, and the VolmLib command, GUI and hotload diff --git a/probe/build.gradle b/probe/build.gradle index bf17231f1..d5f790b4c 100644 --- a/probe/build.gradle +++ b/probe/build.gradle @@ -171,7 +171,10 @@ tasks.register('genProbe', JavaExec) { systemProperty('iris.probe.expectedBackend', providers.gradleProperty('probeExpectedBackend').orElse('').get()) systemProperty('iris.probe.requireNativeSamples', providers.gradleProperty('probeRequireNativeSamples').orElse('false').get()) if (providers.gradleProperty('probeNativeLibrary').isPresent()) { - systemProperty('volmlib.noise.nativeBillowLibrary', providers.gradleProperty('probeNativeLibrary').get()) + systemProperty('volmlib.native.library', providers.gradleProperty('probeNativeLibrary').get()) + } + if (providers.gradleProperty('probeNativePolicy').isPresent()) { + systemProperty('volmlib.native', providers.gradleProperty('probeNativePolicy').get()) } systemProperty('iris.probe.threads', providers.gradleProperty('probeThreads').orElse('1').get()) systemProperty('iris.probe.pregenProfile', providers.gradleProperty('probePregenProfile').orElse('false').get())