Run notarization in afterPack script
This commit is contained in:
parent
eebd252b81
commit
5e113f8975
4 changed files with 67 additions and 91 deletions
62
ts/scripts/notarize.ts
Normal file
62
ts/scripts/notarize.ts
Normal file
|
@ -0,0 +1,62 @@
|
|||
// Copyright 2019-2020 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import path from 'path';
|
||||
import type { AfterPackContext } from 'electron-builder';
|
||||
|
||||
import { notarize } from 'electron-notarize';
|
||||
|
||||
import * as packageJson from '../../package.json';
|
||||
|
||||
/* eslint-disable no-console */
|
||||
|
||||
export async function afterPack({
|
||||
appOutDir,
|
||||
packager,
|
||||
electronPlatformName,
|
||||
}: AfterPackContext): Promise<void> {
|
||||
if (electronPlatformName !== 'darwin') {
|
||||
console.log('notarize: Skipping, not on macOS');
|
||||
return;
|
||||
}
|
||||
|
||||
const { productFilename } = packager.appInfo;
|
||||
|
||||
const appPath = path.join(appOutDir, `${productFilename}.app`);
|
||||
|
||||
const appBundleId = packageJson.build.appId;
|
||||
if (!appBundleId) {
|
||||
throw new Error(
|
||||
'appBundleId must be provided in package.json: build.appId'
|
||||
);
|
||||
}
|
||||
|
||||
const appleId = process.env.APPLE_USERNAME;
|
||||
if (!appleId) {
|
||||
console.warn(
|
||||
'appleId must be provided in environment variable APPLE_USERNAME'
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
const appleIdPassword = process.env.APPLE_PASSWORD;
|
||||
if (!appleIdPassword) {
|
||||
console.warn(
|
||||
'appleIdPassword must be provided in environment variable APPLE_PASSWORD'
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('Notarizing with...');
|
||||
console.log(` primaryBundleId: ${appBundleId}`);
|
||||
console.log(` username: ${appleId}`);
|
||||
console.log(` file: ${appPath}`);
|
||||
|
||||
// eslint-disable-next-line no-await-in-loop
|
||||
await notarize({
|
||||
appBundleId,
|
||||
appPath,
|
||||
appleId,
|
||||
appleIdPassword,
|
||||
});
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue