mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-03 22:33:42 +00:00
47 lines
1.5 KiB
TypeScript
47 lines
1.5 KiB
TypeScript
// Ios Sync Versioning script supports OpenClaw repository automation.
|
|
import path from "node:path";
|
|
import { syncIosVersioning } from "./lib/ios-version.ts";
|
|
import { parseVersionSyncArgs } from "./lib/version-script-args.ts";
|
|
|
|
export { parseVersionSyncArgs as parseArgs } from "./lib/version-script-args.ts";
|
|
|
|
function printUsage(): void {
|
|
process.stdout.write(
|
|
"Usage: node --import tsx scripts/ios-sync-versioning.ts [--write|--check] [--version YYYY.M.D] [--root dir]\n\nValidates that iOS versioning inputs can produce generated local artifacts.\n",
|
|
);
|
|
}
|
|
|
|
function main(argv = process.argv.slice(2)): number {
|
|
const options = parseVersionSyncArgs(argv);
|
|
if (options.help) {
|
|
printUsage();
|
|
return 0;
|
|
}
|
|
|
|
const result = syncIosVersioning({
|
|
mode: options.mode,
|
|
releaseVersion: options.releaseVersion,
|
|
rootDir: options.rootDir,
|
|
});
|
|
|
|
if (options.mode === "check") {
|
|
process.stdout.write("iOS versioning inputs are valid.\n");
|
|
} else if (result.updatedPaths.length === 0) {
|
|
process.stdout.write(
|
|
"iOS versioning inputs are valid; local artifacts are generated by iOS prep commands.\n",
|
|
);
|
|
} else {
|
|
process.stdout.write(
|
|
`Updated iOS versioning artifacts:\n- ${result.updatedPaths.map((filePath) => path.relative(process.cwd(), filePath)).join("\n- ")}\n`,
|
|
);
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
try {
|
|
process.exitCode = main();
|
|
} catch (error) {
|
|
process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`);
|
|
process.exitCode = 1;
|
|
}
|