Merge pull request 'fix: prevent duplicate version tags in Joomla manifests' (#322) from fix/version-bump-duplicates into main
Platform: mokocli CI / Gate 1: Code Quality (push) Failing after 39s
Platform: mokocli CI / Gate 2: Unit Tests (8.1) (push) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.2) (push) Has been cancelled
Platform: mokocli CI / Gate 2: Unit Tests (8.3) (push) Has been cancelled
Platform: mokocli CI / Gate 3: Self-Health Check (push) Has been cancelled
Platform: mokocli CI / Gate 4: Governance (push) Has been cancelled
Platform: mokocli CI / Gate 5: Template Integrity (push) Has been cancelled
Platform: mokocli CI / CI Summary (push) Has been cancelled

This commit was merged in pull request #322.
This commit is contained in:
2026-06-27 00:48:17 +00:00
3 changed files with 17 additions and 5 deletions
+7 -2
View File
@@ -214,7 +214,8 @@ class VersionBumpCli extends CliFramework
$newContent = preg_replace(
$xmlPattern,
'${1}' . $newBase . '</version>',
$content
$content,
1
);
} else {
$xmlPattern = '#<version>\d{2}\.\d{2}\.\d{2}'
@@ -222,9 +223,13 @@ class VersionBumpCli extends CliFramework
$newContent = preg_replace(
$xmlPattern,
"<version>{$newFull}</version>",
$content
$content,
1
);
}
if ($newContent !== null) {
$newContent = preg_replace('#(\s*<version>[^<]*</version>)\s*<version>[^<]*</version>#', '$1', $newContent);
}
if ($newContent !== null && $newContent !== $content) {
file_put_contents($xmlFile, $newContent);
$updatedFiles[] = substr($xmlFile, strlen($root) + 1);
+5 -2
View File
@@ -131,9 +131,11 @@ class VersionCheckCli extends CliFramework
$updated = preg_replace(
$vPat,
"<version>{$highestVersion}</version>",
$content
$content,
1
);
if ($updated !== null) {
$updated = preg_replace('#(\s*<version>[^<]*</version>)\s*<version>[^<]*</version>#', '$1', $updated);
file_put_contents($mokoManifest, $updated);
} echo " Fixed: .mokogitea/manifest.xml -> {$highestVersion}\n";
}
@@ -185,8 +187,9 @@ class VersionCheckCli extends CliFramework
if (!file_exists($file)) {
continue;
} $content = file_get_contents($file);
$updated = preg_replace('#<version>[^<]*</version>#', "<version>{$highestVersion}</version>", $content);
$updated = preg_replace('#<version>[^<]*</version>#', "<version>{$highestVersion}</version>", $content, 1);
if ($updated !== null) {
$updated = preg_replace('#(\s*<version>[^<]*</version>)\s*<version>[^<]*</version>#', '$1', $updated);
file_put_contents($file, $updated);
} echo " Fixed: {$source} -> {$highestVersion}\n";
}
+5 -1
View File
@@ -164,8 +164,12 @@ class VersionSetPlatformCli extends CliFramework
$updated = preg_replace(
'|<version>[^<]*</version>|',
"<version>{$version}</version>",
$content
$content,
1
);
if ($updated !== null) {
$updated = preg_replace('#(\s*<version>[^<]*</version>)\s*<version>[^<]*</version>#', '$1', $updated);
}
if ($updated !== null && $updated !== $content) {
file_put_contents($file, $updated);
$relPath = str_replace($root . '/', '', $file);