Skip to main content

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.properties
  • com/n3plugins/PacketUtils/PacketUtilsPlugin.class
  • com/n3plugins/PacketUtils/N3PluginListBranding.class
  • com/n3plugins/sdk/client/N3Client.class
  • com/n3plugins/InteractionApi/actions/BankActions.class
  • com/n3plugins/ui/brand/n3.png
  • com/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 Utils is 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 N3PluginPanel such as Market Alcher.