Validation
Run validation from the n3plugins repo root. N3PLUGINS_SOURCE_OF_TRUTH.md owns the full canonical command list; this page keeps the common validation flow and jar checks.
Common validation sequence:
.\gradlew.bat test --tests com.n3plugins.InteractionApi.debug.* --console plain
.\gradlew.bat test --tests com.n3plugins.sdk.query.* --console plain
.\gradlew.bat build --console plain
Focused tests compile their source dependencies. The aggregate build task owns the full test suite, normal and fat jars, and packaging-only tests, so do not schedule standalone compileJava, test, or FatJar alongside it.
Focused regression suites:
.\gradlew.bat test --tests com.n3plugins.InteractionApi.* --console plain
.\gradlew.bat test --tests com.n3plugins.walkassistant.* --console plain
.\gradlew.bat test --tests com.n3plugins.dialoguehelper.* --console plain
.\gradlew.bat test --tests com.n3plugins.muleplugin.* --console plain
.\gradlew.bat test --tests com.n3plugins.codeconsole.* --console plain
.\gradlew.bat test --tests com.n3plugins.marketalcher.* --console plain
.\gradlew.bat test --tests com.n3plugins.combatawareness.* --console plain
.\gradlew.bat test --tests com.n3plugins.treewoodcutter.* --console plain
.\gradlew.bat test --tests com.n3plugins.PacketUtils.N3PluginListBrandingTest --tests com.n3plugins.ui.brand.N3BrandingTest --console plain
Packaging-only validation without the broader build lifecycle:
.\gradlew.bat packagingTest --console plain
Jar inspection:
jar tf build\libs\n3Plugins-5.5-all.jar | Select-String "runelite-plugin.properties|com/n3plugins/loader|com/n3plugins/sdk|com/n3plugins/PacketUtils|com/n3plugins/InteractionApi"
jar tf build\libs\n3Plugins-5.5.jar | Select-String "com/n3plugins/ui/brand/n3.png"
Required entries:
runelite-plugin.propertiescom/n3plugins/PacketUtils/PacketUtilsPlugin.classcom/n3plugins/PacketUtils/N3PluginListBranding.classcom/n3plugins/sdk/client/N3Client.classcom/n3plugins/InteractionApi/actions/BankActions.classcom/n3plugins/ui/brand/n3.pngcom/n3plugins/ui/brand/N3Branding.class- each native user-facing plugin class listed in
runelite-plugin.properties
Forbidden default fat-jar entries:
com/n3plugins/loader/com/n3plugins/PathingTesting/
Notes:
- Offline validation depends on the local Gradle/RuneLite dependency cache.
Packet Utilsis the only required shared enabled companion plugin.- User-facing n3 plugins are native manifest entries, not loader-managed child modules.
- Plugin-list image branding still needs live RuneLite validation for refresh/search/open/close behavior, tooltips, and pinned plugin state.
- Shared amber UI visual validation should cover at least one
N3PluginPanelsuch as Market Alcher.