Ticket #6552: manifest.json.tmpl

File manifest.json.tmpl, 3.5 KB (added by BrentM, on 04/04/2018 at 07:50:07 PM)
Line 
1/* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5{
6  "manifest_version": 2,
7  {%- if releaseBuild %}
8  "name": "__MSG_name__",
9  {%- else %}
10  "name": "__MSG_name_devbuild__",
11  {%- endif %}
12
13  "short_name": "__MSG_name__",
14  "description": "__MSG_description__",
15  "default_locale": "en_US",
16  "version": {{version|json}},
17  "author": {{metadata.get('general', 'author')|json}},
18
19  {%- if metadata.has_section('compat') and metadata.has_option('compat', 'chrome') %}
20  "minimum_chrome_version": {{metadata.get('compat', 'chrome')|json}},
21  {%- endif %}
22
23  {%- if metadata.has_section('compat') and metadata.has_option('compat', 'opera') %}
24  "minimum_opera_version": {{metadata.get('compat', 'opera')|json}},
25  {%- endif %}
26
27  {%- if metadata.has_section('compat') and metadata.has_option('compat', 'edge') %}
28  "minimum_edge_version": {{metadata.get('compat', 'edge')|json}},
29  {%- endif %}
30
31  {%- if type == 'gecko' %}
32  "applications":
33  {
34    "gecko":
35    {
36      "id": {{app_id|json}}
37
38      {%- if metadata.has_section('compat') and metadata.has_option('compat', 'gecko') %}
39      ,
40      "strict_min_version": {{metadata.get('compat', 'gecko')|json}}
41      {%- endif %}
42
43      {%- set updateURLSetting = 'updateURL' if releaseBuild else 'devbuildUpdateURL' %}
44      {%- if metadata.has_option('general', updateURLSetting) %}
45      ,
46      "update_url": {{metadata.get('general', updateURLSetting)|json}}
47      {%- endif %}
48    }
49  },
50  {%- endif %}
51
52  {%- if pageAction %}
53  "page_action": {
54    "default_icon": {{pageAction.icon|json}},
55    {%- if pageAction.popup %}
56    "default_popup": {{pageAction.popup|json}},
57    {%- endif %}
58    "default_title": "__MSG_name__"
59  },
60  {%- endif %}
61
62  {%- if browserAction %}
63  "browser_action": {
64    "default_icon": {{browserAction.icon|json}},
65    {%- if browserAction.popup %}
66    "default_popup": {{browserAction.popup|json}},
67    {%- endif %}
68    "default_title": "__MSG_name__"
69  },
70  {%- endif %}
71
72  {%- if icons %}
73  "icons": {{icons|json}},
74  {%- endif %}
75
76  {%- if permissions %}
77  "permissions": {{permissions|json}},
78  {%- endif %}
79
80  {%- if optionalPermissions %}
81    "optional_permissions": {{optionalPermissions|json}},
82  {%- endif %}
83
84  {%- if backgroundScripts %}
85  "background": {
86    "scripts": {{backgroundScripts|json}},
87    "persistent": true
88  },
89  {%- endif %}
90
91  {%- if metadata.has_option('general', 'options') %}
92  {%- if type != 'edge' %}
93  "options_ui": {
94    "page": {{metadata.get('general', 'options')|json}},
95    "open_in_tab": true
96  },
97  {%- else %}
98  "options_page": {{metadata.get('general', 'options')|json}},
99  {%- endif %}
100  {%- endif %}
101
102  {%- if metadata.has_option('general', 'devtools') %}
103  "devtools_page": {{metadata.get('general', 'devtools')|json}},
104  {%- endif %}
105
106  {%- if contentScripts %}
107  "content_scripts": {{contentScripts|json}},
108  {%- endif %}
109
110  {%- if webAccessible %}
111  "web_accessible_resources": {{webAccessible|json}},
112  {%- endif %}
113
114  {%- if externallyConnectable %}
115    "externally_connectable": {
116      "matches": {{externallyConnectable|json}}
117    },
118  {%- endif %}
119
120  {%- if metadata.has_option('general', 'managedStorageSchema') %}
121  "storage": {
122    "managed_schema": {{metadata.get('general', 'managedStorageSchema')|json}}
123  },
124  {%- endif %}
125
126  {%- if metadata.has_option('general', 'contentSecurityPolicy') %}
127  "content_security_policy": {{metadata.get('general', 'contentSecurityPolicy')|json}},
128  {%- endif %}
129
130  "_dummy": false
131}