2019-09-27 18:03:12 +02:00
|
|
|
require('dotenv').config();
|
|
|
|
const { notarize } = require('electron-notarize');
|
2019-09-30 15:32:33 +02:00
|
|
|
const child = require('child_process');
|
2019-09-27 18:03:12 +02:00
|
|
|
|
|
|
|
exports.default = run;
|
|
|
|
|
|
|
|
async function run(context) {
|
2019-09-30 15:32:33 +02:00
|
|
|
console.log('## After sign');
|
2019-09-27 23:27:57 +02:00
|
|
|
// console.log(context);
|
2019-09-27 18:03:12 +02:00
|
|
|
|
|
|
|
const appleId = process.env.APPLEID;
|
|
|
|
const appName = context.packager.appInfo.productFilename;
|
|
|
|
const appPath = `${context.appOutDir}/${appName}.app`;
|
|
|
|
const macBuild = context.electronPlatformName === 'darwin';
|
|
|
|
|
|
|
|
if (macBuild) {
|
2019-09-30 15:32:33 +02:00
|
|
|
console.log('### Sign Safari App Extension');
|
|
|
|
const proc = child.spawn('npm', ['run', 'signMac']);
|
|
|
|
stdOutProc(proc);
|
|
|
|
await new Promise((resolve) => proc.on('close', resolve));
|
|
|
|
|
2019-09-27 18:03:12 +02:00
|
|
|
console.log('### Notarizing ' + appPath);
|
|
|
|
return await notarize({
|
|
|
|
appBundleId: 'com.bitwarden.desktop',
|
|
|
|
appPath: appPath,
|
|
|
|
appleId: appleId,
|
|
|
|
appleIdPassword: `@keychain:AC_PASSWORD`,
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
2019-09-30 15:32:33 +02:00
|
|
|
|
|
|
|
function stdOutProc(proc) {
|
|
|
|
proc.stdout.on('data', (data) => console.log(data.toString()));
|
|
|
|
proc.stderr.on('data', (data) => console.error(data.toString()));
|
|
|
|
}
|