mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-04-30 02:07:18 +00:00

- update Theia to `1.39.0`, - remove the application packager and fix the security vulnerabilities, - bundle the backed application with `webpack`, and - enhance the developer docs. Co-authored-by: Akos Kitta <a.kitta@arduino.cc> Co-authored-by: per1234 <accounts@perglass.com> Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
47 lines
1.3 KiB
JavaScript
47 lines
1.3 KiB
JavaScript
// @ts-check
|
|
'use strict';
|
|
|
|
const isCI = require('is-ci');
|
|
const { notarize } = require('electron-notarize');
|
|
|
|
exports.default = async function notarizing(context) {
|
|
if (!isCI) {
|
|
console.log('Skipping notarization: not on CI');
|
|
return;
|
|
}
|
|
const { electronPlatformName, appOutDir } = context;
|
|
if (electronPlatformName !== 'darwin') {
|
|
console.log('Skipping notarization: not on macOS');
|
|
return;
|
|
}
|
|
if (process.env.CAN_SIGN !== 'true') {
|
|
console.log('Skipping the app notarization: certificate was not provided');
|
|
return;
|
|
}
|
|
|
|
if (!process.env.AC_USERNAME) {
|
|
throw new Error('AC_USERNAME must be set when notarizing on macOS');
|
|
}
|
|
if (!process.env.AC_PASSWORD) {
|
|
throw new Error('AC_PASSWORD must be set when notarizing on macOS');
|
|
}
|
|
if (!process.env.AC_TEAM_ID) {
|
|
throw new Error('AC_TEAM_ID must be set when notarizing on macOS');
|
|
}
|
|
|
|
const appName = context.packager.appInfo.productFilename;
|
|
const appBundleId = context.packager.config.appId;
|
|
console.log(
|
|
`>>> Notarizing ${appBundleId} at ${appOutDir}/${appName}.app...`
|
|
);
|
|
|
|
await notarize({
|
|
appBundleId,
|
|
appPath: `${appOutDir}/${appName}.app`,
|
|
appleId: process.env.AC_USERNAME,
|
|
appleIdPassword: process.env.AC_PASSWORD,
|
|
teamId: process.env.AC_TEAM_ID,
|
|
tool: 'notarytool',
|
|
});
|
|
};
|