Plugins Module AGENTS.md
Verified on commit: f965a250e9a4ad664a282f7e220a42a744964a5a Last updated: 2026-02-13 Assumed workspace: arkcompiler/runtime_core/plugins Scope: plugins/
Purpose
Maintains plugins/ directory as language/feature plugin container. Under runtime_core it mainly contains ecmascript plugin (assembler extensions, metadata, etc.) and its tests. The root BUILD.gn includes each enabled plugin's ark_packages in ark_packages and ark_host_linux_tools_packages via enabled_plugins.
Quick Start
Build Commands
# Build all ark_packages (including enabled plugins' ark_packages)
./build.sh --product-name <product_name> --build-target arkcompiler/runtime_core:ark_packages
# Run only plugins unit tests (ecmascript)
./build.sh --product-name <product_name> --build-target arkcompiler/runtime_core/plugins/ecmascript/tests:host_unittest
Where to Edit
Module Entry Points
plugins/ecmascript/- ECMAScript plugin (assembler extensions, metadata)plugins/ecmascript/tests/BUILD.gn- GN test target PluginsTest
Module-Specific "Do Not Edit" Boundaries
- ⚠️ Do not break how root BUILD.gn enumerates
plugins/$plugin:ark_packages - ⚠️ Each plugin must provide targets referenced by root BUILD.gn (e.g.
ark_packages)
Validation Checklist
Module-Specific Test Commands
- PluginsTest (
plugins/ecmascript/tests/BUILD.gn):host_unittest_action, sourceecmascript_meta_test.cpp
Module Dependencies
Key upstream dependencies:
assembler:libarkassembler_static- For plugin assembler extensionslibpandabase:libarkbase_static- Base library
Key downstream dependents:
- Root BUILD.gn -
ark_packagesdepends onplugins/$plugin:ark_packagesviaforeach(plugin, enabled_plugins) - assembler - References
plugins/ecmascript/assemblerviaenabled_plugins - static_core - runtime, compiler, disassembler, etc. import
plugins.gnior depend on plugin-generated headers
References
- Verified: Plugin enumeration via root BUILD.gn using
foreach(plugin, enabled_plugins) - Verified: Each plugin must provide
ark_packages(and optionallyark_host_linux_tools_packages) - Verified: ecmascript plugin provides assembler extensions and metadata