mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-22 18:08:10 +00:00
67 lines
1.9 KiB
TypeScript
67 lines
1.9 KiB
TypeScript
// Android version test support provides shared fixtures for Android script tests.
|
|
import fs from "node:fs";
|
|
import path from "node:path";
|
|
import { afterEach } from "vitest";
|
|
import { cleanupTempDirs, makeTempDir } from "../helpers/temp-dir.js";
|
|
|
|
const tempDirs: string[] = [];
|
|
|
|
export function installAndroidFixtureCleanup(): void {
|
|
afterEach(() => {
|
|
cleanupTempDirs(tempDirs);
|
|
});
|
|
}
|
|
|
|
export function writeAndroidFixture(params: {
|
|
version: string;
|
|
versionCode: number;
|
|
changelog?: string;
|
|
releaseNotes?: string;
|
|
packageVersion?: string;
|
|
versionProperties?: string;
|
|
prefix?: string;
|
|
}): string {
|
|
const rootDir = makeTempDir(tempDirs, params.prefix ?? "openclaw-android-version-");
|
|
fs.mkdirSync(path.join(rootDir, "apps", "android", "Config"), { recursive: true });
|
|
fs.mkdirSync(path.join(rootDir, "apps", "android", "fastlane", "metadata", "android", "en-US"), {
|
|
recursive: true,
|
|
});
|
|
fs.writeFileSync(
|
|
path.join(rootDir, "package.json"),
|
|
`${JSON.stringify({ version: params.packageVersion ?? "2026.6.2" }, null, 2)}\n`,
|
|
"utf8",
|
|
);
|
|
fs.writeFileSync(
|
|
path.join(rootDir, "apps", "android", "version.json"),
|
|
`${JSON.stringify({ version: params.version, versionCode: params.versionCode }, null, 2)}\n`,
|
|
"utf8",
|
|
);
|
|
const releaseNotes =
|
|
"OpenClaw is now available on Android.\n\nConnect to your OpenClaw Gateway.\n";
|
|
fs.writeFileSync(
|
|
path.join(rootDir, "apps", "android", "CHANGELOG.md"),
|
|
params.changelog ?? `# OpenClaw Android Changelog\n\n## Unreleased\n\n${releaseNotes}`,
|
|
"utf8",
|
|
);
|
|
fs.writeFileSync(
|
|
path.join(rootDir, "apps", "android", "Config", "Version.properties"),
|
|
params.versionProperties ?? "",
|
|
"utf8",
|
|
);
|
|
fs.writeFileSync(
|
|
path.join(
|
|
rootDir,
|
|
"apps",
|
|
"android",
|
|
"fastlane",
|
|
"metadata",
|
|
"android",
|
|
"en-US",
|
|
"release_notes.txt",
|
|
),
|
|
params.releaseNotes ?? releaseNotes,
|
|
"utf8",
|
|
);
|
|
return rootDir;
|
|
}
|