openclaw/scripts/android-sync-versioning.ts
Peter Steinberger dd1c135435
refactor(scripts): deslop scripts (#166083)
* refactor(scripts): deslop scripts

* fix(scripts): preserve existing timing and restart contracts
2026-10-06 14:51:35 -07:00

44 lines
1.4 KiB
TypeScript

import path from "node:path";
import { syncAndroidVersioning } from "./lib/android-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/android-sync-versioning.ts [--write|--check] [--root dir]\n",
);
}
function main(argv = process.argv.slice(2)): number {
const options = parseVersionSyncArgs(argv);
if (options.help) {
printUsage();
return 0;
}
if (options.releaseVersion) {
throw new Error(
"Android version sync uses the pinned version; store notes come from the release artifact.",
);
}
const result = syncAndroidVersioning({ mode: options.mode, rootDir: options.rootDir });
if (options.mode === "check") {
process.stdout.write("Android versioning artifacts are up to date.\n");
} else if (result.updatedPaths.length === 0) {
process.stdout.write("Android versioning artifacts already up to date.\n");
} else {
process.stdout.write(
`Updated Android 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;
}