1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// SPDX-License-Identifier: Apache-2.0
// Copyright (c) 2024-2026 SZ-Rust Team
//
//! 命令模块 — 各命令的实现
//!
//! ## 模块结构
//!
//! | 模块 | 对齐 PHP | 说明 |
//! |------|---------|------|
//! | `make` | `think\console\command\make\*` | 代码生成命令 |
//! | `migrate` | `think\console\command\migrate\*` | 数据库迁移命令 |
//! | `route` | `think\console\command\RouteList` | 路由列表命令 |
//! | `cache` | `think\console\command\Cache` | 缓存清理命令 |
//! | `scheduler` | sz-orm-scheduler 接入 | 调度器命令 |
//! | `seed` | `think\db\Seed` | 数据填充命令 |
//! | `optimize` | `think\console\command\optimize\*` | 配置/路由缓存优化命令 |
//! | `plugin` | 插件市场 | 插件搜索/安装/发布/卸载/更新/列表/登录 |
//! | `admin` | Admin 后台管理插件 | 迁移/路由列表/Capability列表/初始化 |
//! | `serve` | think run | 启动 HTTP 服务(可选加载 admin 插件) |
/// 测试辅助模块 — 提供跨模块共享的全局互斥锁
///
/// `optimize` 与 `make` 测试均通过 `std::env::set_current_dir` 切换工作目录,
/// 该状态是进程级全局的。若两模块各自持有独立 mutex 并行运行,会互相污染工作目录。
/// 本模块提供单一全局锁,所有依赖 `set_current_dir` 的测试都通过它串行化。
pub