- pr-metadata-check.yml: guard the validate-metadata job with
!startsWith(github.event.repository.name, 'Template-'). Template repos
have no real extension manifest, so the check cannot pass by design.
- samples/script/*.php: give each installer script a valid class name
(ComponentInstallerScript, ModuleInstallerScript, PluginInstallerScript,
PackageInstallerScript) instead of the invalid `class {REPONAME}...`
placeholder, so the files pass `php -l`. This matters for repos generated
from this template that keep samples/. String/comment placeholders remain
for find-replace.
Authored-by: Moko Consulting
Replace per-type types/<type>/ scaffolds with a samples/ reference
directory (manifest XML + install script templates for all six
extension types) and a single source/ build directory that CI scans.
- Add samples/manifest/*.xml for component, template, module, plugin,
package, and library
- Add samples/script/*.php install/update script templates
- Add source/ as the canonical build root (CI scans source/src/htdocs)
- Remove types/ per-type scaffolds
- Rewrite root README for the new structure and expanded CI suite
- Anchor Python MANIFEST ignore rule to root (/MANIFEST) so it no
longer swallows samples/manifest/ on case-insensitive filesystems
- Expand ci-joomla.yml: SQL, language-key, PHPCS, security, updates.xml,
asset, MVC naming, router, ACL, webservices, ZIP dry-run, JS/CSS checks
Authored-by: Moko Consulting