feat: nested Joomla package support in release_package.php #323

Merged
jmiller merged 2 commits from fix/release-dead-variable into main 2026-06-27 02:17:32 +00:00
Owner

Summary\n\n- Detect git submodules that are themselves Joomla packages (contain pkg_*.xml + packages/ dir)\n- Recursively build each sub-extension into individual ZIPs, assemble the outer package\n- Manifest filtering ensures only declared sub-extensions are included\n- ZIP collision prevention via isolated output subdirectories\n- Exclude patterns applied consistently to nested top-level files\n- Auto-patch folder=\"packages\" in nested manifests\n- Include all top-level directories (not just language/) in nested packages\n- Remove dead $cleanupFile variable in release.php\n\n## Test plan\n\n- [ ] Build a Joomla package that contains a nested package submodule\n- [ ] Verify nested sub-extension ZIPs are correctly assembled inside the nested package ZIP\n- [ ] Verify no filename collisions when outer and nested packages share sub-extension names\n- [ ] Verify exclude patterns filter unwanted files from nested packages

## Summary\n\n- Detect git submodules that are themselves Joomla packages (contain `pkg_*.xml` + `packages/` dir)\n- Recursively build each sub-extension into individual ZIPs, assemble the outer package\n- Manifest filtering ensures only declared sub-extensions are included\n- ZIP collision prevention via isolated output subdirectories\n- Exclude patterns applied consistently to nested top-level files\n- Auto-patch `folder=\"packages\"` in nested manifests\n- Include all top-level directories (not just language/) in nested packages\n- Remove dead `$cleanupFile` variable in release.php\n\n## Test plan\n\n- [ ] Build a Joomla package that contains a nested package submodule\n- [ ] Verify nested sub-extension ZIPs are correctly assembled inside the nested package ZIP\n- [ ] Verify no filename collisions when outer and nested packages share sub-extension names\n- [ ] Verify exclude patterns filter unwanted files from nested packages
jmiller added 2 commits 2026-06-27 02:12:12 +00:00
feat: support nested Joomla packages in release_package.php
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 9s
8e30fa54b3
When a sub-package directory contains its own pkg_*.xml manifest and
packages/ directory (e.g. a git submodule), recursively build each
sub-extension into ZIPs before assembling the outer package ZIP.
fix: harden nested package build against collisions and missing assets
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 10s
Universal: PR Check / Branch Policy (pull_request) Failing after 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Generic: Repo Health / Access control (pull_request) Successful in 2s
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Universal: PR Check / Secret Scan (pull_request) Successful in 9s
Platform: mokocli CI / Gate 1: Code Quality (pull_request) Failing after 53s
Universal: Build & Release / Promote to RC (pull_request) Has been skipped
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 1s
Universal: Build & Release / Build & Release Pipeline (pull_request) Successful in 15s
Universal: Workflow Sync Trigger / Sync workflows to live repos (pull_request) Failing after 2m32s
Platform: mokocli CI / Gate 2: Unit Tests (8.1) (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.2) (pull_request) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.3) (pull_request) Has been cancelled
Platform: mokocli CI / Gate 3: Self-Health Check (pull_request) Has been cancelled
Platform: mokocli CI / Gate 4: Governance (pull_request) Has been cancelled
Platform: mokocli CI / Gate 5: Template Integrity (pull_request) Has been cancelled
Platform: mokocli CI / CI Summary (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Generic: Repo Health / Scripts governance (pull_request) Has been cancelled
Generic: Repo Health / Repository health (pull_request) Has been cancelled
Generic: Repo Health / Report Issues (pull_request) Has been cancelled
3c420284e3
- Write nested sub-extension ZIPs to subdirectory to prevent filename
  collisions with outer package ZIPs (deferred ZipArchive::addFile reads)
- Apply exclude patterns to nested top-level files (parity with outer)
- Patch nested manifest with folder="packages" so Joomla finds sub-ZIPs
- Include all top-level directories (not just language/) in nested packages

Claude-Session: https://claude.ai/code/session_01MbEjBtsSjPuTWhqqrMS2wG
jmiller merged commit a6c4fe0688 into main 2026-06-27 02:17:32 +00:00
jmiller deleted branch fix/release-dead-variable 2026-06-27 02:17:33 +00:00
Sign in to join this conversation.
No Reviewers
No labels
Priority -
Type -
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoCLI#323