// Android Version script supports OpenClaw repository automation. import { resolveAndroidVersion } from "./lib/android-version.ts"; import { parseVersionQueryArgs } from "./lib/version-script-args.ts"; function printUsage(): void { process.stdout.write( "Usage: node --import tsx scripts/android-version.ts [--json|--shell] [--field name] [--root dir]\n\n", ); } function main(argv = process.argv.slice(2)): number { const options = parseVersionQueryArgs(argv); if (options.help) { printUsage(); return 0; } const version = resolveAndroidVersion(options.rootDir); if (options.field) { const value = version[options.field as keyof typeof version]; if (value === undefined) { throw new Error(`Unknown Android version field '${options.field}'.`); } process.stdout.write(`${value}\n`); return 0; } if (options.format === "shell") { process.stdout.write( [ `OPENCLAW_ANDROID_VERSION_NAME=${version.canonicalVersion}`, `OPENCLAW_ANDROID_VERSION_CODE=${version.versionCode}`, ].join("\n") + "\n", ); } else { process.stdout.write(`${JSON.stringify(version, null, 2)}\n`); } return 0; } try { process.exitCode = main(); } catch (error) { process.stderr.write(`${error instanceof Error ? error.message : String(error)}\n`); process.exitCode = 1; }