feat: add Harmony Connector for HarmonyOS 6 USB file transfer
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
||||
import { createHash } from "node:crypto";
|
||||
import { pathToFileURL } from "node:url";
|
||||
import path from "node:path";
|
||||
import { root, output, run, troveBin } from "./suite.mjs";
|
||||
|
||||
run(process.execPath, ["curios/harmony-connector/build.mjs"]);
|
||||
const directory = path.join(root, "curios/harmony-connector");
|
||||
const manifest = JSON.parse(
|
||||
await readFile(path.join(directory, "curio.json"), "utf8"),
|
||||
);
|
||||
const file = path.join(
|
||||
output,
|
||||
"packages",
|
||||
`${manifest.id}-${manifest.version}-${process.arch}.curio`,
|
||||
);
|
||||
await mkdir(path.dirname(file), { recursive: true });
|
||||
run(troveBin, ["curio", "check", directory, "--json"]);
|
||||
run(troveBin, [
|
||||
"curio",
|
||||
"pack",
|
||||
directory,
|
||||
"--out",
|
||||
file,
|
||||
"--overwrite",
|
||||
"--no-input",
|
||||
"--json",
|
||||
]);
|
||||
const data = await readFile(file);
|
||||
const entries = [
|
||||
{
|
||||
directory: "harmony-connector",
|
||||
manifest,
|
||||
file,
|
||||
artifact: {
|
||||
target: `${process.arch === "arm64" ? "aarch64" : "x86_64"}-apple-darwin`,
|
||||
url: pathToFileURL(file).href,
|
||||
sha256: createHash("sha256").update(data).digest("hex"),
|
||||
size: data.length,
|
||||
},
|
||||
},
|
||||
];
|
||||
await writeFile(
|
||||
path.join(output, "harmony-release.json"),
|
||||
JSON.stringify(entries, null, 2) + "\n",
|
||||
);
|
||||
console.log("Release input: dist/harmony-release.json");
|
||||
Reference in New Issue
Block a user