Convert shell scripts to Python with Joomla/Dolibarr platform support #32
75
scripts/README.md
Normal file
75
scripts/README.md
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
# Scripts Documentation
|
||||||
|
|
||||||
|
All automation scripts for the moko-cassiopeia project are written in Python for cross-platform compatibility and support both Joomla and Dolibarr extensions.
|
||||||
|
|
||||||
|
## Quick Reference
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Run all validations
|
||||||
|
make validate
|
||||||
|
python3 scripts/run/validate_all.py
|
||||||
|
|
||||||
|
# Run specific validations
|
||||||
|
python3 scripts/validate/manifest.py
|
||||||
|
python3 scripts/validate/xml_wellformed.py
|
||||||
|
|
||||||
|
# Create distribution package (auto-detects Joomla or Dolibarr)
|
||||||
|
make package
|
||||||
|
python3 scripts/release/package_extension.py dist
|
||||||
|
```
|
||||||
|
|
||||||
|
## Platform Support
|
||||||
|
|
||||||
|
All scripts automatically detect and support:
|
||||||
|
- **Joomla Extensions**: Templates, Components, Modules, Plugins, Packages
|
||||||
|
- **Dolibarr Modules**: Automatic detection and packaging
|
||||||
|
|
||||||
|
## Available Scripts
|
||||||
|
|
||||||
|
### Validation Scripts (`scripts/validate/`)
|
||||||
|
- `manifest.py` - Validate extension manifests (Joomla/Dolibarr)
|
||||||
|
- `xml_wellformed.py` - Validate XML syntax
|
||||||
|
- `workflows.py` - Validate GitHub Actions workflows
|
||||||
|
- `tabs.py` - Check for tab characters in YAML
|
||||||
|
- `no_secrets.py` - Scan for secrets/credentials
|
||||||
|
- `paths.py` - Check for Windows-style paths
|
||||||
|
- `php_syntax.py` - Validate PHP syntax
|
||||||
|
|
||||||
|
### Release Scripts (`scripts/release/`)
|
||||||
|
- `package_extension.py` - Create distributable ZIP packages
|
||||||
|
|
||||||
|
### Run Scripts (`scripts/run/`)
|
||||||
|
- `validate_all.py` - Run all validation scripts
|
||||||
|
- `scaffold_extension.py` - Create new extension scaffolding
|
||||||
|
|
||||||
|
### Library Scripts (`scripts/lib/`)
|
||||||
|
- `common.py` - Common utilities
|
||||||
|
- `joomla_manifest.py` - Joomla manifest parsing
|
||||||
|
- `dolibarr_manifest.py` - Dolibarr module parsing
|
||||||
|
- `extension_utils.py` - Unified extension detection
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- Python 3.6+
|
||||||
|
- Git
|
||||||
|
- PHP (for PHP syntax validation)
|
||||||
|
|
||||||
|
## Migration from Shell Scripts
|
||||||
|
|
||||||
|
All shell scripts have been converted to Python. Use Python equivalents:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Old (removed) # New
|
||||||
|
./scripts/validate/manifest.sh → python3 scripts/validate/manifest.py
|
||||||
|
./scripts/release/package.sh → python3 scripts/release/package_extension.py
|
||||||
|
```
|
||||||
|
|
||||||
|
For detailed documentation, see individual script help:
|
||||||
|
```bash
|
||||||
|
python3 scripts/validate/manifest.py --help
|
||||||
|
python3 scripts/release/package_extension.py --help
|
||||||
|
```
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
GPL-3.0-or-later - See [LICENSE](../LICENSE)
|
||||||
Reference in New Issue
Block a user