From 9e71c3132eda90f855746059413eae8c67cc8366 Mon Sep 17 00:00:00 2001 From: Thomas Nordquist Date: Tue, 30 Apr 2019 18:28:25 +0200 Subject: [PATCH] Use proper provisioning profile for OSX builds --- package.json | 2 +- package.ts | 41 +++++++++++++++++++-------- res/MQTTExplorerdmg.provisionprofile | Bin 0 -> 7604 bytes yarn.lock | 7 +++++ 4 files changed, 37 insertions(+), 13 deletions(-) create mode 100644 res/MQTTExplorerdmg.provisionprofile diff --git a/package.json b/package.json index f615749..ed5246e 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,6 @@ "publish": [ "github" ], - "provisioningProfile": "res/MQTT_Explorer_Store_Distribution_Profile.provisionprofile", "entitlements": "res/entitlements.mas.plist" }, "linux": { @@ -91,6 +90,7 @@ }, "dependencies": { "about-window": "^1.12.1", + "dot-prop": "^5.0.0", "electron-log": "^2.2.17", "electron-telemetry": "git+https://github.com/thomasnordquist/electron-telemetry.git#dist", "electron-updater": "^4.0.6", diff --git a/package.ts b/package.ts index 982bc23..aa07511 100644 --- a/package.ts +++ b/package.ts @@ -1,6 +1,7 @@ import * as builder from 'electron-builder' import * as fs from 'fs' import * as path from 'path' +import * as dotProp from 'dot-prop' const linuxAppImage: builder.CliOptions = { x64: true, @@ -53,7 +54,7 @@ const mac: builder.CliOptions = { armv7l: false, arm64: false, projectDir: './build/clean', - publish: 'always', + publish: 'never', } async function executeBuild() { @@ -88,20 +89,36 @@ type Packages = 'portable' | 'nsis' | 'appx' | 'AppImage' | 'snap' | 'dmg' | 'zi async function buildWithOptions(options: builder.CliOptions, buildInfo: BuildInfo) { fs.writeFileSync(path.join(options.projectDir!, 'buildOptions.json'), JSON.stringify(buildInfo)) - ensureAppNameForPackage(options, buildInfo.package) - await builder.build({ - ...options, - [buildInfo.platform]: [buildInfo.package], - }) -} - -// AppX must hav a different name since the store name is already taken (but not used) -function ensureAppNameForPackage(options: builder.CliOptions, packageOption: Packages) { const jsonLocation = path.join((options.projectDir as string), 'package.json') + const packageJsonStr = fs.readFileSync(jsonLocation).toString() + const packageJson = JSON.parse(fs.readFileSync(jsonLocation).toString()) - packageJson.build.productName = packageOption === 'appx' ? 'MQTT-Explorer' : 'MQTT Explorer' - fs.writeFileSync(jsonLocation, JSON.stringify(packageJson, undefined, ' ')) + + // AppX must have a different name since the store name is already taken (but not used) + if (buildInfo.package === 'appx') { + dotProp.set(packageJson, 'build.productName', 'MQTT-Explorer') + } + + if (buildInfo.platform === 'mac') { + console.log(buildInfo.package) + const provisioningProfile = (buildInfo.package === 'mas') ? 'res/MQTT_Explorer_Store_Distribution_Profile.provisionprofile' : 'res/MQTTExplorerdmg.provisionprofile' + dotProp.set(packageJson, 'build.mac.provisioningProfile', provisioningProfile) + } + + try { + // Write modified package.json + fs.writeFileSync(jsonLocation, JSON.stringify(packageJson)) + await builder.build({ + ...options, + [buildInfo.platform]: [buildInfo.package], + }) + } catch (error) { + throw error + } finally { + // Roll back changes to package.json + fs.writeFileSync(jsonLocation, packageJsonStr) + } } function build() { diff --git a/res/MQTTExplorerdmg.provisionprofile b/res/MQTTExplorerdmg.provisionprofile new file mode 100644 index 0000000000000000000000000000000000000000..0221c36b671d751e09b91c8a5170f055206fe1ad GIT binary patch literal 7604 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 bq{X=Bmw$WvY%kSH>T`@AwlT@OU!M9G!qrAb literal 0 HcmV?d00001 diff --git a/yarn.lock b/yarn.lock index 48c3892..1ddd166 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1131,6 +1131,13 @@ dot-prop@^4.1.0: dependencies: is-obj "^1.0.0" +dot-prop@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.0.0.tgz#64b7968af349c3a9f966aa12658dbd5829f6b953" + integrity sha512-RTmaF2jx3nOBO2GvtFqjnDLycjFUMqt+2pwRx7JVYa81lDauoj9aNkyrJI2ikR58FbBIchiIlRiGG+muLJ4oHQ== + dependencies: + is-obj "^1.0.0" + dotenv-expand@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-4.2.0.tgz#def1f1ca5d6059d24a766e587942c21106ce1275"