From f4949ed7fdc9269ab84e2647ba32565c40914c88 Mon Sep 17 00:00:00 2001 From: Andreas Coroiu Date: Wed, 26 Jun 2024 14:48:19 +0200 Subject: [PATCH] feat: add extension to mas build --- apps/desktop/electron-builder.json | 7 +++++ apps/desktop/gulpfile.js | 28 +++++++++++++++++++ apps/desktop/package.json | 5 ++-- apps/desktop/resources/entitlements.mac.plist | 2 ++ .../resources/entitlements.mas.inherit.plist | 2 ++ apps/desktop/resources/entitlements.mas.plist | 2 ++ 6 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 apps/desktop/gulpfile.js diff --git a/apps/desktop/electron-builder.json b/apps/desktop/electron-builder.json index 661d47a5a27..6757015b537 100644 --- a/apps/desktop/electron-builder.json +++ b/apps/desktop/electron-builder.json @@ -38,6 +38,13 @@ "hardenedRuntime": true, "entitlements": "resources/entitlements.mac.plist", "entitlementsInherit": "resources/entitlements.mac.plist", + "extraFiles": [ + { + "from": "macos/build/Release/autofill-extension.appex", + "to": "PlugIns/autofill-extension.appex" + } + ], + "x64ArchFiles": "**/autofill-extension.appex/**/*", "extendInfo": { "ITSAppUsesNonExemptEncryption": false, "CFBundleLocalizations": [ diff --git a/apps/desktop/gulpfile.js b/apps/desktop/gulpfile.js new file mode 100644 index 00000000000..3183cd6b96d --- /dev/null +++ b/apps/desktop/gulpfile.js @@ -0,0 +1,28 @@ +const child = require("child_process"); + +const paths = { + build: "./build/", + dist: "./dist/", + node_modules: "./node_modules/", + macOsProject: "./macos/desktop.xcodeproj", + macOsBuild: "./build-macos", +}; + +async function buildMacOs(cb) { + const proc = child.spawn("xcodebuild", [ + "-project", + paths.macOsProject, + "-alltargets", + "-configuration", + "Release", + ]); + stdOutProc(proc); + await new Promise((resolve) => proc.on("close", resolve)); +} + +function stdOutProc(proc) { + proc.stdout.on("data", (data) => console.log(data.toString())); + proc.stderr.on("data", (data) => console.error(data.toString())); +} + +exports["build:macos"] = buildMacOs; diff --git a/apps/desktop/package.json b/apps/desktop/package.json index f1639dc51a1..a0fa0936a52 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -23,6 +23,7 @@ "build:dev": "concurrently -n Main,Rend -c yellow,cyan \"npm run build:main:dev\" \"npm run build:renderer:dev\"", "build:preload": "cross-env NODE_ENV=production webpack --config webpack.preload.js", "build:preload:watch": "cross-env NODE_ENV=production webpack --config webpack.preload.js --watch", + "build:macos-extension": "gulp build:macos", "build:main": "cross-env NODE_ENV=production webpack --config webpack.main.js", "build:main:dev": "npm run build-native && cross-env NODE_ENV=development webpack --config webpack.main.js", "build:main:watch": "npm run build-native && cross-env NODE_ENV=development webpack --config webpack.main.js --watch", @@ -36,8 +37,8 @@ "pack:lin": "npm run clean:dist && electron-builder --linux --x64 -p never", "pack:mac": "npm run clean:dist && electron-builder --mac --universal -p never", "pack:mac:arm64": "npm run clean:dist && electron-builder --mac --arm64 -p never", - "pack:mac:mas": "npm run clean:dist && electron-builder --mac mas --universal -p never", - "pack:mac:masdev": "npm run clean:dist && electron-builder --mac mas-dev --universal -p never", + "pack:mac:mas": "npm run clean:dist && npm run build:macos-extension && electron-builder --mac mas --universal -p never", + "pack:mac:masdev": "npm run clean:dist && npm run build:macos-extension && electron-builder --mac mas-dev --universal -p never", "pack:win": "npm run clean:dist && electron-builder --win --x64 --arm64 --ia32 -p never -c.win.certificateSubjectName=\"8bit Solutions LLC\"", "pack:win:ci": "npm run clean:dist && electron-builder --win --x64 --arm64 --ia32 -p never", "dist:dir": "npm run build && npm run pack:dir", diff --git a/apps/desktop/resources/entitlements.mac.plist b/apps/desktop/resources/entitlements.mac.plist index 48f7bf5cece..915232b83f6 100644 --- a/apps/desktop/resources/entitlements.mac.plist +++ b/apps/desktop/resources/entitlements.mac.plist @@ -8,5 +8,7 @@ com.apple.security.cs.disable-library-validation + com.apple.developer.authentication-services.autofill-credential-provider + diff --git a/apps/desktop/resources/entitlements.mas.inherit.plist b/apps/desktop/resources/entitlements.mas.inherit.plist index 3ee76423e4c..3634c84f81a 100644 --- a/apps/desktop/resources/entitlements.mas.inherit.plist +++ b/apps/desktop/resources/entitlements.mas.inherit.plist @@ -10,5 +10,7 @@ com.apple.security.cs.disable-library-validation + com.apple.developer.authentication-services.autofill-credential-provider + diff --git a/apps/desktop/resources/entitlements.mas.plist b/apps/desktop/resources/entitlements.mas.plist index 5bfeba83a61..1617668bb4c 100644 --- a/apps/desktop/resources/entitlements.mas.plist +++ b/apps/desktop/resources/entitlements.mas.plist @@ -12,6 +12,8 @@ com.apple.security.files.user-selected.read-write + com.apple.developer.authentication-services.autofill-credential-provider + com.apple.security.temporary-exception.files.home-relative-path.read-write /Library/Application Support/Mozilla/NativeMessagingHosts/