diff options
author | danno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-27 12:31:34 +0000 |
---|---|---|
committer | danno@chromium.org <danno@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-27 12:31:34 +0000 |
commit | 934c6e5446780bf26b8ee9fd171aa69db4b0f253 (patch) | |
tree | 0b31702844a9ffb41fb84f729d29232c6d85eba1 /chrome/tools | |
parent | 150f43b345029c037176b4d23c2c32aacd8b6dfc (diff) | |
download | chromium_src-934c6e5446780bf26b8ee9fd171aa69db4b0f253.zip chromium_src-934c6e5446780bf26b8ee9fd171aa69db4b0f253.tar.gz chromium_src-934c6e5446780bf26b8ee9fd171aa69db4b0f253.tar.bz2 |
Revert 72784 - Policy: generate boilerplate policy type and constant code.
This is the first step to being able to re-constitute policy from a non-generic protobuf in a policy request in a fully automated way (i.e. the code for the process can be generated). The non-generic protobuf is required for automatic merging of policy on the server-side.
BUG=68309
TEST=existing policy/provider tests
Review URL: http://codereview.chromium.org/6002015
TBR=danno@chromium.org
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72785 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/tools')
-rw-r--r-- | chrome/tools/build/generate_policy_source.py | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/chrome/tools/build/generate_policy_source.py b/chrome/tools/build/generate_policy_source.py deleted file mode 100644 index 1051092..0000000 --- a/chrome/tools/build/generate_policy_source.py +++ /dev/null @@ -1,142 +0,0 @@ -#!/usr/bin/python -# Copyright (c) 2011 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -'''python %prog [options] platform template - -platform specifies which platform source is being generated for - and can be one of (win, mac, linux). -template is the path to a .json policy template file.''' - -from __future__ import with_statement -from optparse import OptionParser -import sys; - - -CHROME_SUBKEY = 'SOFTWARE\\\\Policies\\\\Google\\\\Chrome'; -CHROMIUM_SUBKEY = 'SOFTWARE\\\\Policies\\\\Chromium'; - - -def main(): - parser = OptionParser(usage=__doc__); - parser.add_option("--pch", "--policy-constants-header", dest="header_path", - help="generate header file of policy constants", - metavar="FILE"); - parser.add_option("--pcc", "--policy-constants-source", dest="source_path", - help="generate source file of policy constants", - metavar="FILE"); - parser.add_option("--pth", "--policy-type-header", dest="type_path", - help="generate header file for policy type enumeration", - metavar="FILE"); - - (opts, args) = parser.parse_args(); - - if len(args) < 2 or len(args) > 2: - print "exactly one platform and input file must be specified." - parser.print_help() - sys.exit(2) - template_file_contents = _LoadJSONFile(args[1]); - if opts.header_path is not None: - _WritePolicyConstantHeader(template_file_contents, - args, - opts); - if opts.source_path is not None: - _WritePolicyConstantSource(template_file_contents, - args, - opts); - if opts.type_path is not None: - _WritePolicyTypeEnumerationHeader(template_file_contents, - args, - opts); - - -def _OutputGeneratedWarningForC(f, template_file_path): - f.write('//\n' - '// DO NOT MODIFY THIS FILE DIRECTLY!\n' - '// IT IS GENERATED BY generate_policy_source.py\n' - '// FROM ' + template_file_path + ' \n' - '//\n\n') - - -def _WritePolicyConstantHeader(template_file_contents, args, opts): - platform = args[0]; - with open(opts.header_path, "w") as f: - _OutputGeneratedWarningForC(f, args[1]) - f.write('#ifndef CHROME_COMMON_POLICY_CONSTANTS_H_\n' - '#define CHROME_COMMON_POLICY_CONSTANTS_H_\n' - '#pragma once\n' - '\n' - 'namespace policy {\n\n') - if platform == "win": - f.write('// The windows registry path where policy configuration ' - 'resides.\nextern const wchar_t kRegistrySubKey[];\n\n') - f.write('// Key names for the policy settings.\n' - 'namespace key {\n\n') - for policy_name in _GetPolicyNameList(template_file_contents): - f.write('extern const char k' + policy_name + '[];\n') - f.write('\n} // namespace key\n\n' - '} // namespace policy\n\n' - '#endif // CHROME_COMMON_POLICY_CONSTANTS_H_\n') - - -def _WritePolicyConstantSource(template_file_contents, args, opts): - platform = args[0]; - with open(opts.source_path, "w") as f: - _OutputGeneratedWarningForC(f, args[1]) - f.write('#include "policy/policy_constants.h"\n' - '\n' - 'namespace policy {\n' - '\n') - if platform == "win": - f.write('#if defined(GOOGLE_CHROME_BUILD)\n' - 'const wchar_t kRegistrySubKey[] = ' - 'L"' + CHROME_SUBKEY + '";\n' - '#else\n' - 'const wchar_t kRegistrySubKey[] = ' - 'L"' + CHROMIUM_SUBKEY + '";\n' - '#endif\n\n') - f.write('namespace key {\n\n') - for policy_name in _GetPolicyNameList(template_file_contents): - f.write('const char k%s[] = "%s";\n' % (policy_name, policy_name)) - f.write('\n} // namespace key\n\n' - '} // namespace policy\n') - - -def _WritePolicyTypeEnumerationHeader(template_file_contents, args, opts): - with open(opts.type_path, "w") as f: - _OutputGeneratedWarningForC(f, args[1]) - f.write('#ifndef CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_TYPE_H_\n' - '#define CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_TYPE_H_\n' - '#pragma once\n' - '\n' - 'namespace policy {\n' - '\n' - 'enum ConfigurationPolicyType {\n') - for policy_name in _GetPolicyNameList(template_file_contents): - f.write(' kPolicy' + policy_name + ",\n"); - f.write('};\n\n' - '} // namespace policy\n\n' - '#endif // CHROME_BROWSER_POLICY_CONFIGURATION_POLICY_TYPE_H_\n') - - -def _GetPolicyNameList(template_file_contents): - policy_names = []; - for policy in template_file_contents['policy_definitions']: - if policy['type'] == 'group': - for sub_policy in policy['policies']: - policy_names.append(sub_policy['name']) - else: - policy_names.append(policy['name']) - policy_names.sort() - return policy_names - - -def _LoadJSONFile(json_file): - with open(json_file, "r") as f: - text = f.read() - return eval(text) - - -if __name__ == '__main__': - main(); |