Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(396)

Side by Side Diff: components/policy/tools/template_writers/writer_configuration.py

Issue 2481183002: Generate ADMX template for Chrome OS policies (Closed)
Patch Set: Couple of fixes after testing Created 3 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 6
7 def GetConfigurationForBuild(defines): 7 def GetConfigurationForBuild(defines):
8 '''Returns a configuration dictionary for the given build that contains 8 '''Returns a configuration dictionary for the given build that contains
9 build-specific settings and information. 9 build-specific settings and information.
10 10
11 Args: 11 Args:
12 defines: Definitions coming from the build system. 12 defines: Definitions coming from the build system.
13 13
14 Raises: 14 Raises:
15 Exception: If 'defines' contains an unknown build-type. 15 Exception: If 'defines' contains an unknown build-type.
16 ''' 16 '''
17 # The prefix of key names in config determines which writer will use their 17 # The prefix of key names in config determines which writer will use their
18 # corresponding values: 18 # corresponding values:
19 # win: Both ADM and ADMX. 19 # win: Both ADM and ADMX.
20 # mac: Only plist. 20 # mac: Only plist.
21 # admx: Only ADMX. 21 # admx: Only ADMX.
22 # adm: Only ADM. 22 # adm: Only ADM.
23 # none/other: Used by all the writers. 23 # none/other: Used by all the writers.
24 # Google:Cat_Google references the external google.admx file.
25 # category_path_strings strings in curly braces are looked up from localized
26 # 'messages' in policy_templates.json.
24 if '_chromium' in defines: 27 if '_chromium' in defines:
25 config = { 28 config = {
26 'build': 'chromium', 29 'build': 'chromium',
27 'app_name': 'Chromium', 30 'app_name': 'Chromium',
28 'frame_name': 'Chromium Frame', 31 'frame_name': 'Chromium Frame',
29 'os_name': 'Chromium OS', 32 'os_name': 'Chromium OS',
30 'webview_name': 'Chromium WebView', 33 'webview_name': 'Chromium WebView',
31 'win_reg_mandatory_key_name': 'Software\\Policies\\Chromium', 34 'win_config' : {
32 'win_reg_recommended_key_name': 35 'win' : {
33 'Software\\Policies\\Chromium\\Recommended', 36 'reg_mandatory_key_name':
34 'win_mandatory_category_path': ['chromium'], 37 'Software\\Policies\\Chromium',
35 'win_recommended_category_path': ['chromium_recommended'], 38 'reg_recommended_key_name':
36 'win_category_path_strings': { 39 'Software\\Policies\\Chromium\\Recommended',
37 'chromium': 'Chromium', 40 'mandatory_category_path': ['chromium'],
38 'chromium_recommended': 'Chromium - {doc_recommended}' 41 'recommended_category_path': ['chromium_recommended'],
42 'category_path_strings': {
43 'chromium': 'Chromium',
44 'chromium_recommended': 'Chromium - {doc_recommended}',
45 },
46 'namespace': 'Chromium.Policies.Chromium',
47 },
48 'chrome_os' : {
49 'reg_mandatory_key_name':
50 'Software\\Policies\\ChromiumOS',
51 'reg_recommended_key_name':
52 'Software\\Policies\\ChromiumOS\\Recommended',
53 'mandatory_category_path': ['chromium_os'],
54 'recommended_category_path': ['chromium_os_recommended'],
55 'category_path_strings': {
56 'chromium_os': 'Chromium OS',
57 'chromium_os_recommended': 'Chromium OS - {doc_recommended}',
58 },
59 'namespace': 'Chromium.Policies.ChromiumOS'
60 },
39 }, 61 },
40 'admx_namespace': 'Chromium.Policies.Chromium',
41 'admx_prefix': 'chromium', 62 'admx_prefix': 'chromium',
42 'linux_policy_path': '/etc/chromium/policies/', 63 'linux_policy_path': '/etc/chromium/policies/',
43 } 64 }
44 elif '_google_chrome' in defines: 65 elif '_google_chrome' in defines:
45 config = { 66 config = {
46 'build': 'chrome', 67 'build': 'chrome',
47 'app_name': 'Google Chrome', 68 'app_name': 'Google Chrome',
48 'frame_name': 'Google Chrome Frame', 69 'frame_name': 'Google Chrome Frame',
49 'os_name': 'Google Chrome OS', 70 'os_name': 'Google Chrome OS',
50 'webview_name': 'Android System WebView', 71 'webview_name': 'Android System WebView',
51 'win_reg_mandatory_key_name': 'Software\\Policies\\Google\\Chrome', 72 'win_config' : {
52 'win_reg_recommended_key_name': 73 'win' : {
53 'Software\\Policies\\Google\\Chrome\\Recommended', 74 'reg_mandatory_key_name':
54 # Note: Google:Cat_Google references Google.Policies from external 75 'Software\\Policies\\Google\\Chrome',
55 # in google.admx file. 76 'reg_recommended_key_name':
56 'win_mandatory_category_path': ['Google:Cat_Google', 'googlechrome'], 77 'Software\\Policies\\Google\\Chrome\\Recommended',
57 'win_recommended_category_path': 78 'mandatory_category_path': ['Google:Cat_Google', 'googlechrome'],
58 ['Google:Cat_Google', 'googlechrome_recommended'], 79 'recommended_category_path':
59 'win_category_path_strings': { 80 ['Google:Cat_Google', 'googlechrome_recommended'],
60 # Strings in curly braces is looked up from localized 'messages' in 81 'category_path_strings': {
61 # policy_templates.json. 82 'googlechrome': 'Google Chrome',
62 'googlechrome': 'Google Chrome', 83 'googlechrome_recommended': 'Google Chrome - {doc_recommended}'
63 'googlechrome_recommended': 'Google Chrome - {doc_recommended}' 84 },
85 'namespace': 'Google.Policies.Chrome',
86 },
87 'chrome_os' : {
88 'reg_mandatory_key_name':
89 'Software\\Policies\\Google\\ChromeOS',
90 'reg_recommended_key_name':
91 'Software\\Policies\\Google\\ChromeOS\\Recommended',
92 'mandatory_category_path': ['Google:Cat_Google', 'googlechromeos'],
93 'recommended_category_path':
94 ['Google:Cat_Google', 'googlechromeos_recommended'],
95 'category_path_strings': {
96 'googlechromeos': 'Google Chrome OS',
97 'googlechromeos_recommended': 'Google Chrome OS - {doc_recommended}'
98 },
99 'namespace': 'Google.Policies.ChromeOS',
100 },
64 }, 101 },
65 # The string 'Google' is defined in google.adml for ADMX, but ADM doesn't 102 # The string 'Google' is defined in google.adml for ADMX, but ADM doesn't
66 # support external references, so we define this map here. 103 # support external references, so we define this map here.
67 'adm_category_path_strings': { 'Google:Cat_Google': 'Google' }, 104 'adm_category_path_strings': {'Google:Cat_Google': 'Google'},
68 'admx_namespace': 'Google.Policies.Chrome',
69 'admx_prefix': 'chrome', 105 'admx_prefix': 'chrome',
70 'admx_using_namespaces': { 106 'admx_using_namespaces': {
71 'Google': 'Google.Policies' # prefix: namespace 107 'Google': 'Google.Policies' # prefix: namespace
72 }, 108 },
73 'linux_policy_path': '/etc/opt/chrome/policies/', 109 'linux_policy_path': '/etc/opt/chrome/policies/',
74 } 110 }
75 else: 111 else:
76 raise Exception('Unknown build') 112 raise Exception('Unknown build')
77 if 'version' in defines: 113 if 'version' in defines:
78 config['version'] = defines['version'] 114 config['version'] = defines['version']
79 config['win_group_policy_class'] = 'Both'
80 config['win_supported_os'] = 'SUPPORTED_WINXPSP2' 115 config['win_supported_os'] = 'SUPPORTED_WINXPSP2'
81 if 'mac_bundle_id' in defines: 116 if 'mac_bundle_id' in defines:
82 config['mac_bundle_id'] = defines['mac_bundle_id'] 117 config['mac_bundle_id'] = defines['mac_bundle_id']
83 config['android_webview_restriction_prefix'] = 'com.android.browser:' 118 config['android_webview_restriction_prefix'] = 'com.android.browser:'
84 return config 119 return config
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698