[fix] lower minimum Xmake version to 3.0.0

This commit is contained in:
dijunkun
2026-10-08 15:48:34 +08:00
parent 5af7cc35e9
commit f335f274ab
19 changed files with 52 additions and 49 deletions
+3 -3
View File
@@ -7,7 +7,7 @@ There is no `WKWebView` or browser runtime.
## Requirements
- Xcode 16 or newer
- Xmake 3.1.1 or newer available on `PATH` (or selected with `XMAKE_BIN`)
- Xmake 3.0.0 or newer available on `PATH` (or selected with `XMAKE_BIN`)
- A physical arm64 iPhone/iPad running iOS 16 or newer, or an iOS simulator on Apple Silicon
## Build
@@ -27,7 +27,7 @@ licenses** when cloning: `git clone --branch <source-tag> --recurse-submodules
https://github.com/kunkundi/crossdesk.git`. The iOS marketing version is independent
of the repository tag; use the source tag or commit recorded in the app.
Install [Xmake](https://xmake.io/guide/quick-start.html) 3.1.1 or newer,
Install [Xmake](https://xmake.io/guide/quick-start.html) 3.0.0 or newer,
CMake, and a current Python 3 with setuptools/wheel. Pin the package repository
in a separate Xmake global directory before building:
@@ -105,7 +105,7 @@ or relevant build configuration also trigger it. The main
workflow on branch/tag pushes and manual runs, and waits for its result before
publishing a version-tag release.
The workflow tests the minimum supported Xmake version (3.1.1) and retains the
The workflow tests the minimum supported Xmake version (3.0.0) and retains the
pinned Xcode/SDK, dependency cache, license and privacy checks, unsigned arm64
Release build, and app-bundle verification. It uploads
`crossdesk-ios-arm64-unsigned-v<marketing-version>-<date>.zip`,
+1 -1
View File
@@ -900,7 +900,7 @@
],
"bundle_sha256": "f54e5e2168bf6e91d81a413931a052d29f59e0c221df5e1de3f51bd27c662c3a",
"toolchain": {
"xmake_min_version": "3.1.1",
"xmake_min_version": "3.0.0",
"xmake_repository_revision": "121109352da272cd1a3d4ed52f2dcda34f839955"
}
}
+7 -6
View File
@@ -52,7 +52,7 @@ class LicenseValidationTest(unittest.TestCase):
self.target.write_text(str(self.root / "packages/a/asio/1.0/abcd/include") + "\n")
self.lock = {
"bundle_sha256": licenses.digest(self.bundle.read_bytes()),
"toolchain": {"xmake_min_version": "3.1.1"},
"toolchain": {"xmake_min_version": "3.0.0"},
"components": [
{
"id": "minirtc", "version": self.reviewed_revision,
@@ -151,20 +151,21 @@ class LicenseValidationTest(unittest.TestCase):
def test_minimum_and_newer_xmake_versions_are_accepted(self):
version = self.root / "xmake-version.txt"
for output in ("xmake v3.1.1", "xmake v3.1.2\n", "xmake v3.1.10, A build utility\n",
for output in ("xmake v3.0.0", "xmake v3.0.1\n", "xmake v3.0.9\n", "xmake v3.0.99\n",
"xmake v3.1.0\n", "xmake v3.1.1\n", "xmake v3.1.2\n", "xmake v3.1.10, A build utility\n",
"xmake v3.2.0\n", "xmake v3.10.0\n", "xmake v4.0.0\n",
"\x1b[1mxmake v3.1.1+HEAD.3ba37a0d4, A build utility\x1b[0m\n"):
"\x1b[1mxmake v3.0.0+HEAD.3ba37a0d4, A build utility\x1b[0m\n"):
with self.subTest(output=output):
version.write_text(output)
self.verify(xmake_version=version)
def test_older_or_unrecognized_xmake_versions_are_rejected(self):
version = self.root / "xmake-version.txt"
for output in ("xmake v3.1.0\n", "xmake v3.0.99\n", "xmake v2.99.99\n",
"xmake version unknown\n", "xmake v3.1\n", "xmake v3.1.1invalid\n", ""):
for output in ("xmake v2.9.9\n", "xmake v2.99.99\n",
"xmake version unknown\n", "xmake v3.0\n", "xmake v3.0.0invalid\n", ""):
with self.subTest(output=output):
version.write_text(output)
with self.assertRaisesRegex(ValueError, "Xmake 3.1.1 or newer is required"):
with self.assertRaisesRegex(ValueError, "Xmake 3.0.0 or newer is required"):
self.verify(xmake_version=version)