mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-10-19 23:14:10 +00:00
Wire Iris jar shrink
- Wire the ProGuard shrink pass into the Bukkit artifact with the core, Bukkit plugin and NMS compile classpaths as library jars - Map the fourteen SlimJar relocations so runtime-downloaded libraries resolve under their relocated names - Add packaging/shrink.pro keeping the public API, Iris events, platform SPI, VolmLib integration contract and Bukkit event handler lists - Lower maximumBukkitArtifactBytes to 7,600,000 so verifyBukkitArtifact enforces the same budget as the packaging gate - Build VolmitSender.name() from the sender name instead of the relocated CommandSender.name() reference, which cannot resolve on Paper 26.2
This commit is contained in:
+21
-1
@@ -84,7 +84,7 @@ String fabricArtifactName = irisArtifactName('Fabric', "${minecraftVersion}+${lo
|
||||
String forgeArtifactName = irisArtifactName('Forge', "${minecraftVersion}+${loaderDisplayVersion(forgeVersion)}")
|
||||
String neoForgeArtifactName = irisArtifactName('NeoForge', "${minecraftVersion}+${loaderDisplayVersion(neoForgeVersion)}")
|
||||
File pluginOutDirectory = layout.projectDirectory.dir('../PluginOuts').asFile
|
||||
long maximumBukkitArtifactBytes = 8_000_000L
|
||||
long maximumBukkitArtifactBytes = 7_600_000L
|
||||
apply plugin: ApiGenerator
|
||||
|
||||
// Where `buildAll` drops the per-platform jars for a local test server. Use the approved sibling
|
||||
@@ -746,6 +746,26 @@ pluginPackaging {
|
||||
releaseCompression = providers.gradleProperty('compactRelease').map { it.toBoolean() }.getOrElse(false)
|
||||
prunePrefixes = ['art/arcane/volmlib/']
|
||||
keepPrefixes = ['art/arcane/volmlib/util/matter/slices/']
|
||||
shrinkRules = [file('packaging/shrink.pro')]
|
||||
shrinkLibraries.from(provider { project(':core').configurations.compileClasspath })
|
||||
shrinkLibraries.from(provider { project(':adapters:bukkit:plugin').configurations.compileClasspath })
|
||||
shrinkLibraries.from(provider { project(':adapters:bukkit:nms:v26_2_R1').configurations.compileClasspath })
|
||||
shrinkRelocations = [
|
||||
'com.dfsek.paralithic': 'art.arcane.iris.util.paralithic',
|
||||
'com.google.gson': 'art.arcane.iris.util.gson',
|
||||
'com.googlecode.concurrentlinkedhashmap': 'art.arcane.iris.util.lru',
|
||||
'io.papermc.lib': 'art.arcane.iris.util.paper',
|
||||
'net.kyori': 'art.arcane.iris.util.kyori',
|
||||
'org.bstats': 'art.arcane.iris.util.metrics',
|
||||
'org.apache.maven': 'art.arcane.iris.util.maven',
|
||||
'org.codehaus.plexus': 'art.arcane.iris.util.plexus',
|
||||
'org.eclipse.sisu': 'art.arcane.iris.util.sisu',
|
||||
'org.eclipse.aether': 'art.arcane.iris.util.aether',
|
||||
'com.google.inject': 'art.arcane.iris.util.guice',
|
||||
'org.dom4j': 'art.arcane.iris.util.dom4j',
|
||||
'org.jaxen': 'art.arcane.iris.util.jaxen',
|
||||
'com.github.benmanes.caffeine': 'art.arcane.iris.util.caffeine'
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -359,7 +359,7 @@ public class VolmitSender implements CommandSender {
|
||||
@NotNull
|
||||
@Override
|
||||
public Component name() {
|
||||
return s.name();
|
||||
return Component.text(getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
-keep class art.arcane.iris.api.** { *; }
|
||||
-keep class art.arcane.iris.core.events.** { *; }
|
||||
-keep class art.arcane.iris.spi.** { *; }
|
||||
-keep class art.arcane.volmlib.integration.** { *; }
|
||||
-keep class * implements art.arcane.volmlib.integration.IntegrationServiceContract { *; }
|
||||
-keep class * implements art.arcane.volmlib.integration.ReloadAware { *; }
|
||||
-keepclassmembers class * extends org.bukkit.event.Event {
|
||||
public static org.bukkit.event.HandlerList getHandlerList();
|
||||
public org.bukkit.event.HandlerList getHandlers();
|
||||
}
|
||||
Reference in New Issue
Block a user