Skip to content

Commit 170ddd6

Browse files
committed
Merge branch '5.4.x' into dev-agentic
2 parents 85c3e68 + 7ffd2fa commit 170ddd6

636 files changed

Lines changed: 23271 additions & 7704 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/skills/basercms-core-plugin-convert/SKILL.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
name: basercms-core-plugin-convert
3-
description: baserCMS の「通常プラグイン(サードパーティ/単体配布)」を monorepo の「コアプラグイン」に昇格させる手順。「コアプラグインに変更」「コアプラグイン化」「通常プラグインをコアに昇格」「monorepo に取り込む」等のときに参照する。プラグイン名の規約変更(bc- プレフィックス付与・CamelCase→ハイフン区切り)、.git/シンボリックリンク/standalone テスト基盤の除去、ルート phpunit.xml.dist・tests/bootstrap.php・composer.json・.gitignore への登録、baser-core setting.php の corePlugins/defaultInstallCorePlugins、phpdoc.dist.xml、split_monorepo.yml への追加、monorepo-builder merge による依存集約、全体テストでの実行確認、monorepo split 用 read-only リポジトリの確認までを収録。プラグインのバージョン非推奨対応(5.2→5.3)は basercms-plugin-migration スキル、テスト実行手順は basercms-unittest スキルを参照。
3+
description: baserCMS の「通常プラグイン(サードパーティ/単体配布)」を monorepo の「コアプラグイン」に昇格させる手順。「コアプラグインに変更」「コアプラグイン化」「通常プラグインをコアに昇格」「monorepo に取り込む」等のときに参照する。プラグイン名の規約変更(bc- プレフィックス付与・CamelCase→ハイフン区切り)、.git/シンボリックリンク/standalone テスト基盤の除去、ルート phpunit.xml.dist・tests/bootstrap.php・composer.json・.gitignore への登録、baser-core setting.php の corePlugins/defaultInstallCorePlugins、phpdoc.dist.xml、split_monorepo.yml への追加、monorepo-builder merge による依存集約、全体テストでの実行確認、monorepo split 用 read-only リポジトリの確認までを収録。プラグインのバージョン非推奨対応(5.2→5.3)は basercms-plugin-5x-update スキル、テスト実行手順は basercms-unittest スキルを参照。
44
license: MIT
55
---
66

@@ -10,7 +10,7 @@ license: MIT
1010
参照: `plugins/bc-blog` 等の既存コアプラグインが「正」の構成。
1111

1212
> 前提と役割分担
13-
> - バージョン移行(5.2→5.3 / PHP8.5)でのコード非推奨対応は `basercms-plugin-migration` スキル。
13+
> - バージョン移行(5.2→5.3 / PHP8.5)でのコード非推奨対応は `basercms-plugin-5x-update` スキル。
1414
> - ユニットテストの実行・集計・切り分けは `basercms-unittest` スキル。
1515
> - 本書は「通常プラグイン構成 → コアプラグイン構成」への**構造変換**に絞る。
1616
@@ -99,7 +99,7 @@ baserCMS は `webroot/<plugin_underscored>` → `plugins/<bc-name>/webroot` の
9999
- defaultInstall に入れる方針なら BcInstaller の後でも可(createDb が作り直すため)。
100100

101101
### 4-2. マイグレーション・プラグインリストへ追加(⚠️ 複数箇所ある)
102-
プラグインが DB マイグレーション(`config/Migrations`)を持つ場合、**テスト用 DB にテーブルを作る/再構築するプラグインリストすべて**に追加する。1 箇所でも漏れると、全体実行時にそのプラグインのテーブルだけ欠落し `Could not describe columns on <table>`(→ コントローラ初期化失敗で当該プラグインの全アクション 500)になる。**単独 testsuite では通り、全体実行でのみ落ちる**のが特徴(切り分けは `basercms-plugin-migration` のテスト基盤節も参照)。
102+
プラグインが DB マイグレーション(`config/Migrations`)を持つ場合、**テスト用 DB にテーブルを作る/再構築するプラグインリストすべて**に追加する。1 箇所でも漏れると、全体実行時にそのプラグインのテーブルだけ欠落し `Could not describe columns on <table>`(→ コントローラ初期化失敗で当該プラグインの全アクション 500)になる。**単独 testsuite では通り、全体実行でのみ落ちる**のが特徴(切り分けは `basercms-plugin-5x-update` のテスト基盤節も参照)。
103103

104104
1. **ルート `tests/bootstrap.php``Migrator::runMany`**(初期スキーマ構築)
105105
```php
@@ -168,10 +168,11 @@ docker compose exec <container> sh -c "cd /var/www/html && vendor/bin/monorepo-b
168168
- `autoload-dev.psr-4``"BcMcp\\Test\\": "plugins/bc-mcp/tests/"`
169169
- `require` にプラグインの外部依存(`league/oauth2-server` 等、`ext-*` 含む)
170170
- `replace``"baserproject/bc-mcp": "<monorepo版>"`(他コアに合わせる)
171-
- 反映後、依存取得とオートロード再生成:
171+
- **外部依存(`require`)を追加した場合のみ**、依存取得のため composer を回す:
172172
```bash
173173
docker compose exec <container> sh -c "cd /var/www/html && composer update <added-packages> --no-interaction"
174174
```
175+
- ⚠️ **`composer dump-autoload` は不要**(クラスを読ませる目的では回さない)。baserCMS はプラグイン機構(`BcPlugin` / CakePHP のプラグインロードが各プラグインの composer.json の psr-4 を解決)でクラスを認識・ロードするため、ルート autoloader の再生成に依存しない。**管理画面でプラグインを有効化**すれば読み込まれる。ルート `composer.json``autoload`/`replace` への登録は monorepo 管理・split 用のメタ情報として行う(コミット対象)。外部 `require` を足したときだけ上記の `composer update` で vendor を取得する。
175176

176177
### 5-4. `phpdoc.dist.xml``src` パスを追加
177178
```xml
@@ -214,7 +215,7 @@ docker compose exec <container> sh -c "cd /var/www/html && vendor/bin/phpunit --
214215
// 実サーバーが要るテストの先頭で $this->requireMcpServer();
215216
```
216217
- **マイグレーション未実行**: 4-2 の追加漏れ → テーブル不在で失敗。
217-
- **プラグイン未 bootstrap / サブプラグイン未ロード** 等は `basercms-plugin-migration` スキル(T-3〜T-5)参照。
218+
- **プラグイン未 bootstrap / サブプラグイン未ロード** 等は `basercms-plugin-5x-update` スキル(T-3〜T-5)参照。
218219
- 仕上げに全体テストの回帰が無いことも確認する。
219220

220221
---

0 commit comments

Comments
 (0)