36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
require('dotenv').config();
|
|
const { notarize } = require('electron-notarize');
|
|
const child = require('child_process');
|
|
|
|
exports.default = run;
|
|
|
|
async function run(context) {
|
|
console.log('## After sign');
|
|
// console.log(context);
|
|
|
|
const appleId = process.env.APPLEID;
|
|
const appName = context.packager.appInfo.productFilename;
|
|
const appPath = `${context.appOutDir}/${appName}.app`;
|
|
const macBuild = context.electronPlatformName === 'darwin';
|
|
|
|
if (macBuild) {
|
|
console.log('### Sign App w/ Safari Extension');
|
|
const proc = child.spawn('gulp', ['signMac']);
|
|
stdOutProc(proc);
|
|
await new Promise((resolve) => proc.on('close', resolve));
|
|
|
|
console.log('### Notarizing ' + appPath);
|
|
return await notarize({
|
|
appBundleId: 'com.bitwarden.desktop',
|
|
appPath: appPath,
|
|
appleId: appleId,
|
|
appleIdPassword: `@keychain:AC_PASSWORD`,
|
|
});
|
|
}
|
|
}
|
|
|
|
function stdOutProc(proc) {
|
|
proc.stdout.on('data', (data) => console.log(data.toString()));
|
|
proc.stderr.on('data', (data) => console.error(data.toString()));
|
|
}
|