Day 5 achievements: - Created independent FileBox plugin crate with C FFI exports - Integrated plugin loading into Nyash interpreter startup - Implemented transparent builtin/plugin Box switching via nyash.toml - Successfully loaded plugin library (385KB .so) at runtime - Confirmed PluginBox proxy creation for FileBox instances Architecture changes: - Added plugins/ directory with .gitignore for build artifacts - Modified runner.rs to load plugins from nyash.toml on startup - Updated objects.rs to use BoxFactoryRegistry for FileBox creation - Fixed bid module visibility between lib.rs and main.rs Remaining work (10%): - Complete PluginBox proxy method implementations (toString, etc.) - Test actual file operations through plugin interface - Finalize error handling and edge cases Build status: All tests passing, plugin loading confirmed
37 lines
652 B
TOML
37 lines
652 B
TOML
[package]
|
|
name = "nyash-filebox-plugin"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
# 独立プラグインとして設定
|
|
[workspace]
|
|
|
|
[lib]
|
|
name = "nyash_filebox_plugin"
|
|
crate-type = ["cdylib"] # 動的ライブラリ生成
|
|
|
|
[dependencies]
|
|
# BID-FFI基盤
|
|
libc = "0.2"
|
|
once_cell = "1.19"
|
|
|
|
# 簡単なError処理
|
|
thiserror = "1.0"
|
|
|
|
# ログ(デバッグ用)
|
|
log = { version = "0.4", optional = true }
|
|
|
|
[features]
|
|
default = []
|
|
debug = ["log"]
|
|
|
|
[profile.release]
|
|
# プラグイン最適化
|
|
opt-level = 3
|
|
lto = true
|
|
codegen-units = 1
|
|
panic = "abort"
|
|
|
|
[package.metadata]
|
|
description = "Nyash FileBox Plugin - BID-FFI Reference Implementation"
|
|
license = "MIT" |