From 04fb7383c0925c760c209f8a1805d4e27da6d489 Mon Sep 17 00:00:00 2001 From: Stanley Stuart Date: Mon, 15 Mar 2021 18:23:21 -0700 Subject: [PATCH] don't write manifest if we don't need to --- src/tarballs/bin.ts | 2 +- src/tarballs/build.ts | 26 ++++++++++++++++---------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/tarballs/bin.ts b/src/tarballs/bin.ts index ae7091db..bc5e241d 100644 --- a/src/tarballs/bin.ts +++ b/src/tarballs/bin.ts @@ -37,7 +37,7 @@ if exist "%~dp0..\\bin\\node.exe" ( // `) } const writeUnix = async () => { - const bin = path.join(baseWorkspace, 'bin', config.bin) + const bin = qq.join([baseWorkspace, 'bin', config.bin]) await fs.writeFile(bin, `#!/usr/bin/env bash set -e echoerr() { echo "$@" 1>&2; } diff --git a/src/tarballs/build.ts b/src/tarballs/build.ts index d90060ae..e26c1984 100644 --- a/src/tarballs/build.ts +++ b/src/tarballs/build.ts @@ -68,7 +68,7 @@ async function doBuild(c: IConfig, options: { await tar.x({ file: tarball, stripComponents: 1, - cwd: c.workspace() + cwd: c.workspace(), }) await qq.mkdirp(path.dirname(baseTarballPath)) await qq.mv(tarball, baseTarballPath) @@ -109,20 +109,27 @@ async function doBuild(c: IConfig, options: { const nodePath = targetNodeLocation(target, c) const workspaceParent = path.dirname(workspace) - log(`building target ${base}`) - if (xz) { - const baseXZ = base.replace('.tar.gz', '.tar.xz') - log(`building target ${baseXZ}`) - } - await qq.cp(baseTarballPath, tarballDist) - await tar.replace({ file: tarballDist, cwd: workspaceParent, }, [path.relative(workspaceParent, nodePath)]) - if (options.pack === false) return + if (options.pack === false) { + await tar.x({ + file: tarballDist, + cwd: workspace, + stripComponents: 1, + }) + return + } + + log(`building target ${base}`) + if (xz) { + const baseXZ = base.replace('.tar.gz', '.tar.xz') + log(`building target ${baseXZ}`) + } + await compress(tarballDist, xz) if (!c.updateConfig.s3.host) return await writeManifest(target, c, config, xz) @@ -159,7 +166,6 @@ async function doBuild(c: IConfig, options: { await addDependencies() await writeBinScripts({config, baseWorkspace: c.workspace(), nodeVersion: c.nodeVersion}) await buildBaseTarball() - await writeManifest(undefined, c, config, xz) await downloadNodeBinaries(c) const targetsToBuild = options.platform ?