2019-06-27 08:54:18 +00:00
|
|
|
// See: https://medium.com/@TwitterArchiveEraser/notarize-electron-apps-7a5f988406db
|
|
|
|
|
|
|
|
const fs = require('fs')
|
|
|
|
const path = require('path')
|
|
|
|
const notarizer = require('electron-notarize')
|
|
|
|
|
|
|
|
module.exports = async function (params) {
|
|
|
|
// notarize the app on Mac OS only.
|
2020-05-04 12:19:40 +00:00
|
|
|
if (process.platform !== 'darwin' || !process.env.GITHUB_REF || !process.env.GITHUB_REF.startsWith('refs/tags/')) {
|
2019-06-27 08:54:18 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
console.log('afterSign hook triggered', params)
|
|
|
|
|
|
|
|
let appId = 'org.terminus'
|
|
|
|
|
2020-05-07 15:37:39 +00:00
|
|
|
let appPath = path.join(params.appOutDir, params._pathOverride || `${params.packager.appInfo.productFilename}.app`)
|
2019-06-27 08:54:18 +00:00
|
|
|
if (!fs.existsSync(appPath)) {
|
|
|
|
throw new Error(`Cannot find application at: ${appPath}`)
|
|
|
|
}
|
|
|
|
|
|
|
|
console.log(`Notarizing ${appId} found at ${appPath}`)
|
|
|
|
|
|
|
|
try {
|
|
|
|
await notarizer.notarize({
|
|
|
|
appBundleId: appId,
|
|
|
|
appPath: appPath,
|
|
|
|
appleId: process.env.APPSTORE_USERNAME,
|
|
|
|
appleIdPassword: process.env.APPSTORE_PASSWORD,
|
|
|
|
})
|
|
|
|
} catch (error) {
|
|
|
|
console.error(error)
|
|
|
|
}
|
|
|
|
|
|
|
|
console.log(`Done notarizing ${appId}`)
|
|
|
|
}
|