fix: version_set_platform.php reads manifest.xml + supports joomla platform
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 2s
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 2s
- Added .mokogitea/manifest.xml XML lookup (new format) - Added .mokogitea/.mokostandards fallback (legacy) - Platform 'joomla' now handled alongside 'waas-component' This was the root cause of manifest version not updating during releases. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -64,16 +64,32 @@ if ($suffix !== '' && !str_ends_with($version, $suffix)) {
|
|||||||
|
|
||||||
$root = realpath($path) ?: $path;
|
$root = realpath($path) ?: $path;
|
||||||
|
|
||||||
// Detect platform
|
// Detect platform — check manifest.xml first, then legacy .mokostandards
|
||||||
$platform = '';
|
$platform = '';
|
||||||
$mokoStandards = "{$root}/.github/.mokostandards";
|
|
||||||
if (!file_exists($mokoStandards)) {
|
// New format: .mokogitea/manifest.xml (XML with <platform> tag)
|
||||||
$mokoStandards = "{$root}/.mokostandards";
|
$manifestXml = "{$root}/.mokogitea/manifest.xml";
|
||||||
|
if (file_exists($manifestXml)) {
|
||||||
|
$xml = @simplexml_load_file($manifestXml);
|
||||||
|
if ($xml && isset($xml->governance->platform)) {
|
||||||
|
$platform = (string) $xml->governance->platform;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (file_exists($mokoStandards)) {
|
|
||||||
$content = file_get_contents($mokoStandards);
|
// Legacy: .mokostandards YAML file
|
||||||
if (preg_match('/^platform:\s*(.+)/m', $content, $m)) {
|
if (empty($platform)) {
|
||||||
$platform = trim($m[1], " \t\n\r\"'");
|
$mokoStandards = "{$root}/.github/.mokostandards";
|
||||||
|
if (!file_exists($mokoStandards)) {
|
||||||
|
$mokoStandards = "{$root}/.mokogitea/.mokostandards";
|
||||||
|
}
|
||||||
|
if (!file_exists($mokoStandards)) {
|
||||||
|
$mokoStandards = "{$root}/.mokostandards";
|
||||||
|
}
|
||||||
|
if (file_exists($mokoStandards)) {
|
||||||
|
$content = file_get_contents($mokoStandards);
|
||||||
|
if (preg_match('/^platform:\s*(.+)/m', $content, $m)) {
|
||||||
|
$platform = trim($m[1], " \t\n\r\"'");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -116,7 +132,7 @@ if ($platform === 'crm-module') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Joomla: <version> in XML manifests
|
// Joomla: <version> in XML manifests
|
||||||
if ($platform === 'waas-component') {
|
if (in_array($platform, ['waas-component', 'joomla'], true)) {
|
||||||
foreach (glob("{$root}/src/*.xml") ?: glob("{$root}/*.xml") ?: [] as $file) {
|
foreach (glob("{$root}/src/*.xml") ?: glob("{$root}/*.xml") ?: [] as $file) {
|
||||||
$content = file_get_contents($file);
|
$content = file_get_contents($file);
|
||||||
if (!str_contains($content, '<extension')) continue;
|
if (!str_contains($content, '<extension')) continue;
|
||||||
|
|||||||
Reference in New Issue
Block a user