mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-08-24 12:15:27 -07:00
- Build the Swift window-tracking helper with an explicit `-target ...-apple-macos12.0` instead of letting swiftc stamp the build machine's OS, so the overlay attaches to mpv on older macOS (e.g. Ventura) instead of crashing at load - Fold the standalone build-macos-helper.sh into prepare-build-assets.mjs and update docs/tests to match
28 lines
1.1 KiB
TypeScript
28 lines
1.1 KiB
TypeScript
import assert from 'node:assert/strict';
|
|
import { readFileSync } from 'node:fs';
|
|
import test from 'node:test';
|
|
|
|
const source = readFileSync('scripts/prepare-build-assets.mjs', 'utf8');
|
|
|
|
test('macOS helper build creates dist scripts directory before swiftc output', () => {
|
|
const buildFunctionIndex = source.indexOf('function buildMacosHelper()');
|
|
assert.notEqual(buildFunctionIndex, -1);
|
|
|
|
const swiftcIndex = source.indexOf("'swiftc'", buildFunctionIndex);
|
|
assert.notEqual(swiftcIndex, -1);
|
|
|
|
const ensureDirIndex = source.lastIndexOf('ensureDir(scriptsOutputDir)', swiftcIndex);
|
|
|
|
assert.ok(
|
|
ensureDirIndex > buildFunctionIndex,
|
|
'buildMacosHelper must create dist/scripts before swiftc writes the helper binary',
|
|
);
|
|
});
|
|
|
|
// Regression guard for #213: an untargeted swiftc stamps the build machine's OS
|
|
// version as the helper's minimum, so released builds refuse to load on older macOS.
|
|
test('macOS helper is compiled with an explicit deployment target', () => {
|
|
assert.match(source, /-target/);
|
|
assert.match(source, /apple-macos\$\{MACOS_HELPER_DEPLOYMENT_TARGET\}/);
|
|
});
|