74 lines
2.6 KiB
JavaScript
74 lines
2.6 KiB
JavaScript
const common = require("./common.cjs");
|
|
|
|
console.log("BuildOptimize", {
|
|
name: common.platformName(),
|
|
arch: common.platformArch(),
|
|
});
|
|
|
|
exports.default = async function (context) {
|
|
console.log("BuildOptimize.output", {
|
|
context: context,
|
|
root: context.appOutDir,
|
|
});
|
|
// copy extra packaging/resources/[name]-[arch] to extra
|
|
const platformName = common.platformName();
|
|
const platformArch = common.platformArch();
|
|
const name = platformName + "-" + platformArch;
|
|
|
|
const srcDir = `packaging/resources/${name}`;
|
|
let destDir = null;
|
|
if (platformName === 'osx') {
|
|
destDir = common.pathResolve(
|
|
context.appOutDir,
|
|
`${context.packager.appInfo.productFilename}.app`,
|
|
"Contents",
|
|
"Resources",
|
|
"extra",
|
|
name
|
|
);
|
|
} else if (platformName === 'win') {
|
|
destDir = common.pathResolve(context.appOutDir, "resources", "extra", name);
|
|
} else if (platformName === 'linux') {
|
|
destDir = common.pathResolve(context.appOutDir, "resources", "extra", name);
|
|
}
|
|
|
|
console.log("BuildOptimize.copy", {
|
|
platformName,
|
|
platformArch,
|
|
srcDir,
|
|
destDir,
|
|
});
|
|
|
|
if (srcDir && common.exists(srcDir)) {
|
|
if (process.env.OEM_BATCH_BUILD === "1" && platformName === "win" && platformArch === "x86") {
|
|
console.log("OEM batch build skips FFmpeg in NSIS payload; it is delivered as resource-bundles/ffmpeg");
|
|
return;
|
|
}
|
|
console.log(`Copying from ${srcDir} to ${destDir}`);
|
|
common.copy(srcDir, destDir, true);
|
|
console.log(`Copy completed`);
|
|
} else {
|
|
console.log(`No matching source directory found for platform: ${platformName}-${platformArch}`);
|
|
}
|
|
|
|
// common.listFiles(context.appOutDir, true).forEach((p) => {
|
|
// console.log('BuildOptimize.path', (p.isDir ? 'D:' : 'F:') + p.path);
|
|
// })
|
|
// const localeDir = context.appOutDir + "/AigcPanel.app/Contents/Frameworks/Electron Framework.framework/Versions/A/Resources/";
|
|
// console.log(`localeDir: ${localeDir}`);
|
|
// fs.readdir(localeDir, function (err, files) {
|
|
// if (!(files && files.length)) {
|
|
// return;
|
|
// }
|
|
// for (let f of files) {
|
|
// if (f.endsWith('.lproj')) {
|
|
// if (!(f.startsWith("en") || f.startsWith("zh"))) {
|
|
// const p = localeDir + f;
|
|
// console.log(`removeFile: ${p}`);
|
|
// fs.rmdirSync(p, {recursive: true});
|
|
// }
|
|
// }
|
|
// }
|
|
// });
|
|
};
|