bug: manifest_read.php fails when .mokogitea/manifest.xml is deleted #283

Closed
opened 2026-06-21 00:42:33 +00:00 by jmiller · 1 comment
Owner

Problem

manifest_read.php requires .mokogitea/manifest.xml to detect the platform (joomla/dolibarr/generic). When this file is deleted (e.g. deprecated in favor of API-managed metadata), the pre-release workflow fails at the "Detect platform" step:

No manifest found in /workspace/MokoConsulting/MokoSuiteClient

This blocks all pre-release builds for repos that have removed manifest.xml.

Affected Repos

  • MokoSuiteClient (manifest.xml deleted in commit d692db4a)
  • Any repo that follows the same deprecation

Expected Behavior

manifest_read.php should fall back to auto-detecting the platform from the source tree:

  • Joomla: look for pkg_*.xml, com_*/manifest.xml, *.xml with <extension type="...">, or source/pkg_*.xml
  • Dolibarr: look for mod*.class.php or update.txt
  • Generic: if neither Joomla nor Dolibarr markers found

Current Behavior

Hard fails with exit code 1 if .mokogitea/manifest.xml doesn't exist.

Suggested Fix

In manifest_read.php, after the primary check for .mokogitea/manifest.xml fails, scan for Joomla/Dolibarr markers in the repo root and source/ directory. Return the detected platform and element name derived from the package manifest filename.

## Problem `manifest_read.php` requires `.mokogitea/manifest.xml` to detect the platform (joomla/dolibarr/generic). When this file is deleted (e.g. deprecated in favor of API-managed metadata), the pre-release workflow fails at the "Detect platform" step: ``` No manifest found in /workspace/MokoConsulting/MokoSuiteClient ``` This blocks all pre-release builds for repos that have removed `manifest.xml`. ## Affected Repos - MokoSuiteClient (manifest.xml deleted in commit `d692db4a`) - Any repo that follows the same deprecation ## Expected Behavior `manifest_read.php` should fall back to auto-detecting the platform from the source tree: - **Joomla**: look for `pkg_*.xml`, `com_*/manifest.xml`, `*.xml` with `<extension type="...">`, or `source/pkg_*.xml` - **Dolibarr**: look for `mod*.class.php` or `update.txt` - **Generic**: if neither Joomla nor Dolibarr markers found ## Current Behavior Hard fails with exit code 1 if `.mokogitea/manifest.xml` doesn't exist. ## Suggested Fix In `manifest_read.php`, after the primary check for `.mokogitea/manifest.xml` fails, scan for Joomla/Dolibarr markers in the repo root and `source/` directory. Return the detected platform and element name derived from the package manifest filename.
Author
Owner

Clarification: Remove manifest.xml dependency entirely

.mokogitea/manifest.xml should NOT be read at all anymore. The platform metadata should come from first-class sources:

  • Joomla: Parse <extension type="package|component|plugin|module"> from the actual Joomla XML manifest (e.g. source/pkg_*.xml, source/packages/com_*/com_*.xml)
  • Dolibarr: Detect mod*.class.php in the source tree
  • Generic: Fallback when no Joomla/Dolibarr markers found

All metadata fields (element name, version, type, platform) should be derived from the extension's own manifest, not from a separate .mokogitea/manifest.xml file. This file is deprecated and should not be required by any mokocli tool.

## Clarification: Remove manifest.xml dependency entirely `.mokogitea/manifest.xml` should NOT be read at all anymore. The platform metadata should come from first-class sources: - **Joomla**: Parse `<extension type="package|component|plugin|module">` from the actual Joomla XML manifest (e.g. `source/pkg_*.xml`, `source/packages/com_*/com_*.xml`) - **Dolibarr**: Detect `mod*.class.php` in the source tree - **Generic**: Fallback when no Joomla/Dolibarr markers found All metadata fields (element name, version, type, platform) should be derived from the extension's own manifest, not from a separate `.mokogitea/manifest.xml` file. This file is deprecated and should not be required by any mokocli tool.
Sign in to join this conversation.
No labels
Priority Medium
Type Feature
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/mokocli#283