plating 2025-10-19
Added compiler subsystem with single and grouped compilers
10 files · 1,300+ · 182-

Compiler subsystem

3 files changed
  • __init__.py New 14-line compiler package entry point
  • grouped.py New 297-line grouped compiler for multi-component documentation
  • single.py New 287-line single-component documentation compiler
  • Added src/plating/compiler/__init__.py (14 lines) as compiler package entry point baseline internal
    1 file
    • __init__.py
  • Added src/plating/compiler/grouped.py (297 lines) for compiling documentation across multiple related components simultaneously instantiate internal
    1 file
    • grouped.py
  • Added src/plating/compiler/single.py (287 lines) for single-component documentation compilation instantiate internal
    1 file
    • single.py

Example compiler simplification

1 file changed
  • example_compiler.py Reduced from ~512 to ~225 lines by delegating compilation logic to the new compiler subsystem
  • Reduced src/plating/example_compiler.py from ~512 to ~225 lines, delegating compilation logic to the new compiler subsystem decouple internal
    1 file
    • example_compiler.py

Bundle capabilities and CLI integration

3 files changed
  • base.py Expanded with additional bundle introspection methods (+71 lines)
  • cli.py Added compiler integration (33 lines)
  • settings.local.json Updated settings
  • Expanded src/plating/bundles/base.py with additional bundle introspection methods decouple internal
    1 file
    • base.py
  • Updated src/plating/cli.py with compiler integration (33 lines added) instantiate behavioral
    1 file
    • cli.py

Tests for compiler and bundles

3 files changed
  • test_grouped_compiler.py New 409-line comprehensive grouped compiler test suite
  • test_plating_bundle.py Added 137 lines of expanded bundle testing
  • test_modern_api.py Minor test adjustments
  • Added tests/test_grouped_compiler.py (409 lines) with comprehensive grouped compiler tests qualify internal
    1 file
    • test_grouped_compiler.py
  • Added 137 lines to tests/test_plating_bundle.py for expanded bundle testing qualify internal
    1 file
    • test_plating_bundle.py