

























@@ -76,6 +76,24 @@ function run(command, args, cwd, options = {}) {
7676});
7777}
787879+const PACKAGE_ARTIFACT_BUILD_STEPS = [
80+{
81+label: "Building OpenClaw package artifacts",
82+command: "node",
83+args: ["scripts/build-all.mjs"],
84+},
85+];
86+87+export async function buildPackageArtifacts(sourceDir, options = {}) {
88+const runImpl = options.runImpl ?? run;
89+for (const step of PACKAGE_ARTIFACT_BUILD_STEPS) {
90+console.error(`==> ${step.label}`);
91+await runImpl(step.command, step.args, sourceDir, {
92+env: { ...process.env, OPENCLAW_BUILD_ALL_NO_PNPM: "1" },
93+});
94+}
95+}
96+7997async function runCapture(command, args, cwd) {
8098return await new Promise((resolve, reject) => {
8199const child = spawn(command, args, {
@@ -131,14 +149,7 @@ async function main() {
131149await fs.mkdir(outputDir, { recursive: true });
132150133151if (!options.skipBuild) {
134-console.error("==> Building OpenClaw package artifacts");
135-await run("node", ["scripts/build-all.mjs"], sourceDir, {
136-env: { ...process.env, OPENCLAW_BUILD_ALL_NO_PNPM: "1" },
137-});
138-console.error("==> Building OpenClaw Control UI artifacts");
139-await run("node", ["scripts/ui.js", "build"], sourceDir, {
140-env: { ...process.env, OPENCLAW_BUILD_ALL_NO_PNPM: "1" },
141-});
152+await buildPackageArtifacts(sourceDir);
142153}
143154144155console.error("==> Writing OpenClaw package inventory");
@@ -186,7 +197,9 @@ async function main() {
186197process.stdout.write(`${tarball}\n`);
187198}
188199189-await main().catch((error) => {
190-console.error(error instanceof Error ? error.message : String(error));
191-process.exit(1);
192-});
200+if (process.argv[1] && path.resolve(process.argv[1]) === fileURLToPath(import.meta.url)) {
201+await main().catch((error) => {
202+console.error(error instanceof Error ? error.message : String(error));
203+process.exit(1);
204+});
205+}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。