Introduce dynamic overrides and rename module manifest

This commit is contained in:
uprightbass360
2025-11-08 01:49:21 -05:00
parent 662af4b3a7
commit 622fd518d2
29 changed files with 261 additions and 155 deletions

View File

@@ -1,49 +0,0 @@
# Post-Install Hooks Refactoring Summary
## What Was Accomplished
### 1. **Legacy System Issues**
- Hardcoded hooks in `manage-modules.sh` (only 2 implemented)
- 26 undefined hooks from Eluna modules causing warnings
- No extensibility or maintainability
### 2. **New Architecture Implemented**
#### **External Hook Scripts** (`scripts/hooks/`)
- `copy-standard-lua` - Generic Lua script copying for Eluna modules
- `copy-aio-lua` - AIO-specific Lua script handling
- `mod-ale-patches` - mod-ale compatibility patches
- `black-market-setup` - Black Market specific setup
- `README.md` - Complete documentation
#### **Manifest-Driven Configuration**
- All hooks now defined in `config/modules.json`
- Standardized hook names (kebab-case)
- No more undefined hooks
#### **Refactored Hook Runner** (`manage-modules.sh`)
- External script execution with environment variables
- Proper error handling (exit codes 0/1/2)
- Environment cleanup
- Removed legacy fallback code
### 3. **Hook Mapping Applied**
- **24 Eluna modules** → `copy-standard-lua`
- **2 AIO modules** → `copy-aio-lua`
- **1 mod-ale module** → `mod-ale-patches`
- **1 Black Market module** → `black-market-setup`
### 4. **Benefits Achieved**
-**Maintainable** - Hooks are separate, reusable scripts
-**Extensible** - Easy to add new hooks without code changes
-**Reliable** - No more undefined hook warnings
-**Documented** - Clear interface and usage patterns
-**Clean** - Removed legacy code and hardcoded cases
## Files Modified
- `scripts/hooks/` (new directory with 5 files)
- `scripts/manage-modules.sh` (refactored hook runner)
- `config/modules.json` (updated all 28 hook definitions)
## Testing Ready
The system is ready for testing with the modules container to ensure all Lua scripts are properly copied to `/azerothcore/lua_scripts` during module installation.