mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-10-11 19:14:11 +00:00
Consolidate source layout
- Packages regrouped by domain: generation, world, pack, studio, structure, platform, command, localization, diagnostics - Forked VolmLib utilities dropped for the shared library: noise, stream, interpolation, hunk, matter - Engine-coupled stream decorators moved to generation.stream.GenerationStreams - Hunk section splits now run on the Iris burst pool through HunkBurst - Artifact entry lists, purity allowlists and shrink rules follow the new paths
This commit is contained in:
@@ -20,40 +20,40 @@ public final class GenerationRevisionScope {
|
||||
"adapters/neoforge/src/main/java"
|
||||
);
|
||||
private static final List<String> OPERATIONAL_EXCLUSIONS = List.of(
|
||||
"core/src/main/java/art/arcane/iris/engine/EngineDiagnostics.java",
|
||||
"core/src/main/java/art/arcane/iris/engine/EngineMetricsReport.java",
|
||||
"core/src/main/java/art/arcane/iris/core/IrisStartupValidation.java",
|
||||
"core/src/main/java/art/arcane/iris/core/safeguard/IrisSafeguard.java",
|
||||
"core/src/main/java/art/arcane/iris/core/safeguard/Mode.java",
|
||||
"core/src/main/java/art/arcane/iris/core/safeguard/task/Task.java",
|
||||
"core/src/main/java/art/arcane/iris/core/safeguard/task/Tasks.java",
|
||||
"core/src/main/java/art/arcane/iris/core/safeguard/task/Diagnostic.java",
|
||||
"core/src/main/java/art/arcane/iris/core/safeguard/task/ValueWithDiagnostics.java",
|
||||
"core/src/main/java/art/arcane/iris/core/splash/IrisSplashRenderer.java",
|
||||
"adapters/bukkit/nms/v26_2_R1/src/main/java/art/arcane/iris/core/nms/v26_2_R1/NmsWorldLifecycle.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandDeveloper.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandPregen.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandIris.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsaw.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawAdopt.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawConnector.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawExports.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawOpen.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawPiece.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawPool.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawPreview.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawRules.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawVariant.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandJigsawWorkcell.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandStudio.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandObject.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/PaperCommandRegistrar.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandPack.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandStructure.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandWhat.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandFind.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandEdit.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/CommandDatapack.java"
|
||||
"core/src/main/java/art/arcane/iris/generation/runtime/EngineDiagnostics.java",
|
||||
"core/src/main/java/art/arcane/iris/generation/runtime/EngineMetricsReport.java",
|
||||
"core/src/main/java/art/arcane/iris/world/IrisStartupValidation.java",
|
||||
"core/src/main/java/art/arcane/iris/world/safeguard/IrisSafeguard.java",
|
||||
"core/src/main/java/art/arcane/iris/world/safeguard/Mode.java",
|
||||
"core/src/main/java/art/arcane/iris/world/safeguard/Task.java",
|
||||
"core/src/main/java/art/arcane/iris/world/safeguard/Tasks.java",
|
||||
"core/src/main/java/art/arcane/iris/world/safeguard/Diagnostic.java",
|
||||
"core/src/main/java/art/arcane/iris/world/safeguard/ValueWithDiagnostics.java",
|
||||
"core/src/main/java/art/arcane/iris/diagnostics/splash/IrisSplashRenderer.java",
|
||||
"adapters/bukkit/nms/v26_2_R1/src/main/java/art/arcane/iris/platform/bukkit/nms/v26_2_R1/NmsWorldLifecycle.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandDeveloper.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandPregen.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandIris.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsaw.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawAdopt.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawConnector.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawExports.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawOpen.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawPiece.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawPool.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawPreview.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawRules.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawVariant.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandJigsawWorkcell.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandStudio.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandObject.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/PaperCommandRegistrar.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandPack.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandStructure.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandWhat.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandFind.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandEdit.java",
|
||||
"adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/CommandDatapack.java"
|
||||
);
|
||||
|
||||
private GenerationRevisionScope() {
|
||||
@@ -61,7 +61,7 @@ public final class GenerationRevisionScope {
|
||||
|
||||
public static GenerationBuildRevision.CaptureOptions current(Path repository) {
|
||||
return new GenerationBuildRevision.CaptureOptions(repository, 1,
|
||||
"art.arcane.iris.engine.history.GenerationKernelV1",
|
||||
"art.arcane.iris.world.history.GenerationKernelV1",
|
||||
List.of(new GenerationBuildRevision.AlgorithmVersion(1, 1)), SOURCE_ROOTS, OPERATIONAL_EXCLUSIONS);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ public class BukkitArtifactVerifierTest {
|
||||
private static final String PLUGIN_DESCRIPTOR = "plugin.yml";
|
||||
private static final String SLIMJAR_DEPENDENCIES = "slimjar.dat";
|
||||
private static final String SLIMJAR_RESOLUTIONS = "slimjar-resolutions.dat";
|
||||
private static final String NMS_BINDING = "art/arcane/iris/core/nms/v26_2_R1/NMSBinding";
|
||||
private static final String NMS_BINDING = "art/arcane/iris/platform/bukkit/nms/v26_2_R1/NMSBinding";
|
||||
private static final List<String> REQUIRED_ENTRIES = List.of(
|
||||
PLUGIN_DESCRIPTOR,
|
||||
SLIMJAR_DEPENDENCIES,
|
||||
|
||||
@@ -19,9 +19,9 @@ import static org.junit.Assert.assertNotEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
public class GenerationRevisionScopeTest {
|
||||
private static final String ENGINE_ROOT = "core/src/main/java/art/arcane/iris/engine/";
|
||||
private static final String NMS_ROOT = "adapters/bukkit/nms/v26_2_R1/src/main/java/art/arcane/iris/core/nms/v26_2_R1/";
|
||||
private static final String COMMAND_ROOT = "adapters/bukkit/plugin/src/main/java/art/arcane/iris/core/commands/";
|
||||
private static final String ENGINE_ROOT = "core/src/main/java/art/arcane/iris/generation/runtime/";
|
||||
private static final String NMS_ROOT = "adapters/bukkit/nms/v26_2_R1/src/main/java/art/arcane/iris/platform/bukkit/nms/v26_2_R1/";
|
||||
private static final String COMMAND_ROOT = "adapters/bukkit/plugin/src/main/java/art/arcane/iris/command/";
|
||||
|
||||
@Rule
|
||||
public final TemporaryFolder temporary = new TemporaryFolder();
|
||||
@@ -72,7 +72,7 @@ public class GenerationRevisionScopeTest {
|
||||
assertNewSourceChangesRevision(fixture, ENGINE_ROOT + "NewDiagnostics.java");
|
||||
assertNewSourceChangesRevision(fixture, NMS_ROOT + "NmsWorldLifecycleHelper.java");
|
||||
assertNewSourceChangesRevision(fixture, COMMAND_ROOT + "NewCommand.java");
|
||||
assertNewSourceChangesRevision(fixture, "core/src/main/java/art/arcane/iris/core/safeguard/task/NewTask.java");
|
||||
assertNewSourceChangesRevision(fixture, "core/src/main/java/art/arcane/iris/world/safeguard/NewTask.java");
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -141,8 +141,8 @@ public class GenerationRevisionScopeTest {
|
||||
ENGINE_ROOT + "history/GenerationKernelV1.java",
|
||||
ENGINE_ROOT + "object/IrisDimension.java",
|
||||
ENGINE_ROOT + "mode/ModeOverworld.java",
|
||||
"core/src/main/java/art/arcane/iris/core/loader/IrisData.java",
|
||||
"core/src/main/java/art/arcane/iris/core/IrisSettings.java",
|
||||
"core/src/main/java/art/arcane/iris/pack/loading/IrisData.java",
|
||||
"core/src/main/java/art/arcane/iris/configuration/IrisSettings.java",
|
||||
"core/agent/src/main/java/GenerationTransformer.java",
|
||||
NMS_ROOT + "NmsGenerationHooks.java",
|
||||
NMS_ROOT + "NmsGenerationRegistry.java",
|
||||
|
||||
@@ -24,7 +24,7 @@ import static org.junit.Assert.assertTrue;
|
||||
public class ModdedArtifactVerifierTest {
|
||||
private static final String METADATA = "fabric.mod.json";
|
||||
private static final String CODEC_CLASS = "art/arcane/volmlib/util/mantle/io/Lz4IOWorkerCodecSupport.class";
|
||||
private static final String HARDWARE_CLASS = "art/arcane/iris/util/common/misc/getHardware.class";
|
||||
private static final String HARDWARE_CLASS = "art/arcane/iris/platform/bootstrap/getHardware.class";
|
||||
private static final String MIXIN_CONFIG = "irisworldgen.entity.mixins.json";
|
||||
private static final String CLIENT_MIXIN_CONFIG = "irisworldgen.client.mixins.json";
|
||||
private static final String NEOFORGE_METADATA = "META-INF/neoforge.mods.toml";
|
||||
@@ -220,8 +220,8 @@ public class ModdedArtifactVerifierTest {
|
||||
@Test
|
||||
public void rejectsBukkitSupertypeOutsidePlatformPackage() throws Exception {
|
||||
Map<String, byte[]> entries = validEntries();
|
||||
entries.put("art/arcane/iris/engine/platform/BukkitChunkGenerator.class",
|
||||
classExtending("art/arcane/iris/engine/platform/BukkitChunkGenerator",
|
||||
entries.put("art/arcane/iris/platform/generation/BukkitChunkGenerator.class",
|
||||
classExtending("art/arcane/iris/platform/generation/BukkitChunkGenerator",
|
||||
"org/bukkit/generator/ChunkGenerator"));
|
||||
File artifact = createArtifact(entries);
|
||||
|
||||
@@ -255,25 +255,25 @@ public class ModdedArtifactVerifierTest {
|
||||
@Test
|
||||
public void acceptsBukkitSupertypeDeclaredInThePurityAllowlist() throws Exception {
|
||||
Map<String, byte[]> entries = validEntries();
|
||||
entries.put("art/arcane/iris/engine/platform/BukkitChunkGenerator.class",
|
||||
classExtending("art/arcane/iris/engine/platform/BukkitChunkGenerator",
|
||||
entries.put("art/arcane/iris/platform/generation/BukkitChunkGenerator.class",
|
||||
classExtending("art/arcane/iris/platform/generation/BukkitChunkGenerator",
|
||||
"org/bukkit/generator/ChunkGenerator"));
|
||||
File artifact = createArtifact(entries);
|
||||
|
||||
ModdedArtifactVerifier.verify(artifact, REQUIRED_ENTRIES,
|
||||
Set.of("art/arcane/iris/engine/platform/BukkitChunkGenerator"));
|
||||
Set.of("art/arcane/iris/platform/generation/BukkitChunkGenerator"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void acceptsBukkitSupertypeOnNestedClassOfAllowlistedSource() throws Exception {
|
||||
Map<String, byte[]> entries = validEntries();
|
||||
entries.put("art/arcane/iris/engine/object/IrisEntity$BukkitOps$1.class",
|
||||
classImplementing("art/arcane/iris/engine/object/IrisEntity$BukkitOps$1",
|
||||
entries.put("art/arcane/iris/world/entity/IrisEntity$BukkitOps$1.class",
|
||||
classImplementing("art/arcane/iris/world/entity/IrisEntity$BukkitOps$1",
|
||||
"org/bukkit/event/Listener"));
|
||||
File artifact = createArtifact(entries);
|
||||
|
||||
ModdedArtifactVerifier.verify(artifact, REQUIRED_ENTRIES,
|
||||
Set.of("art/arcane/iris/engine/object/IrisEntity"));
|
||||
Set.of("art/arcane/iris/world/entity/IrisEntity"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -289,14 +289,14 @@ public class ModdedArtifactVerifierTest {
|
||||
@Test
|
||||
public void rejectsBukkitSupertypeMissingFromThePurityAllowlist() throws Exception {
|
||||
Map<String, byte[]> entries = validEntries();
|
||||
entries.put("art/arcane/iris/core/link/data/OraxenDataProvider.class",
|
||||
classImplementing("art/arcane/iris/core/link/data/OraxenDataProvider",
|
||||
entries.put("art/arcane/iris/integration/data/OraxenDataProvider.class",
|
||||
classImplementing("art/arcane/iris/integration/data/OraxenDataProvider",
|
||||
"org/bukkit/event/Listener"));
|
||||
File artifact = createArtifact(entries);
|
||||
|
||||
GradleException failure = assertThrows(GradleException.class,
|
||||
() -> ModdedArtifactVerifier.verify(artifact, REQUIRED_ENTRIES,
|
||||
Set.of("art/arcane/iris/core/link/data/ItemAdderDataProvider")));
|
||||
Set.of("art/arcane/iris/integration/data/ItemAdderDataProvider")));
|
||||
assertTrue(failure.getMessage().contains("core/purity-allowlist.txt"));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user