Переглянути джерело

feat(Builder): allow custom plist strings

Evshiron Magicka 8 роки тому
батько
коміт
66f1464db2
4 змінених файлів з 14 додано та 2 видалено
  1. 6 2
      assets/project/package.json
  2. 1 0
      docs/Options.md
  3. 6 0
      src/lib/Builder.ts
  4. 1 0
      src/lib/config/MacConfig.ts

+ 6 - 2
assets/project/package.json

@@ -12,7 +12,7 @@
   "build": {
     "appId": "io.github.evshiron.nwjs-builder-phoenix.project",
     "nwVersion": "lts",
-    "packed": false,
+    "packed": true,
     "targets": [
       "zip",
       "nsis7z"
@@ -31,7 +31,11 @@
     "mac": {
       "displayName": "Project",
       "copyright": "copyright",
-      "icon": "./assets/pd.icns"
+      "icon": "./assets/pd.icns",
+      "plistStrings": {
+        "CFBundleIdentifier": "io.github.evshiron.nwjs-builder-phoenix.project.modified",
+        "CFBundleDocumentTypes": []
+      }
     },
     "nsis": {
       "installDirectory": "$PROGRAMFILES\\${_COMPANYNAME}\\${_APPNAME}",

+ 1 - 0
docs/Options.md

@@ -37,6 +37,7 @@ version | string | Version in `Info.plist`. Defaults to `${ version }`.
 description | string | Description in `InfoPlist.strings`. Defaults to `${ description }`.
 copyright | string | Copyright in `InfoPlist.strings`. Defaults to `""`.
 icon | string | .icns icon file relative to the project root. Defaults to `undefined`.
+plistStrings | { [key: string]: string } | `plist` strings. Defaults to `{}`.
 
 ## build.linux <- [LinuxConfig](../src/lib/config/LinuxConfig.ts)
 

+ 6 - 0
src/lib/Builder.ts

@@ -220,6 +220,12 @@ export class Builder {
         plist.CFBundleVersion = config.mac.version;
         plist.CFBundleShortVersionString = config.mac.version;
 
+        for(const key in config.mac.plistStrings) {
+            if(config.mac.plistStrings.hasOwnProperty(key)) {
+                plist[key] = config.mac.plistStrings[key];
+            }
+        }
+
         await this.writePlist(path, plist);
 
     }

+ 1 - 0
src/lib/config/MacConfig.ts

@@ -7,6 +7,7 @@ export class MacConfig {
     public description: string = '';
     public copyright: string = '';
     public icon: string = undefined;
+    public plistStrings: any = {};
 
     constructor(options: any = {}) {