195640e3a20adea634b4df4ccf8c93f411184c438joi@chromium.org#!/usr/bin/env python 295640e3a20adea634b4df4ccf8c93f411184c438joi@chromium.org# Copyright (c) 2012 The Chromium Authors. All rights reserved. 301b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org# Use of this source code is governed by a BSD-style license that can be 401b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org# found in the LICENSE file. 501b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 601b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 701b3bc768461bd303bff39f8cd1663682254e407joi@chromium.orgdef GetConfigurationForBuild(defines): 801b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org '''Returns a configuration dictionary for the given build that contains 901b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org build-specific settings and information. 1001b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 1101b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org Args: 1201b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org defines: Definitions coming from the build system. 1301b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 1401b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org Raises: 1501b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org Exception: If 'defines' contains an unknown build-type. 1601b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org ''' 1701b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org # The prefix of key names in config determines which writer will use their 1801b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org # corresponding values: 1901b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org # win: Both ADM and ADMX. 2001b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org # mac: Only plist. 2101b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org # admx: Only ADMX. 2201b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org # none/other: Used by all the writers. 2301b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org if '_chromium' in defines: 2401b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org config = { 2501b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 'build': 'chromium', 2601b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 'app_name': 'Chromium', 2701b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 'frame_name': 'Chromium Frame', 2801b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 'os_name': 'Chromium OS', 290bb959423818266efea82162f48ad83e5eb2e8b2joaodasilva@chromium.org 'win_reg_mandatory_key_name': 'Software\\Policies\\Chromium', 300bb959423818266efea82162f48ad83e5eb2e8b2joaodasilva@chromium.org 'win_reg_recommended_key_name': 310bb959423818266efea82162f48ad83e5eb2e8b2joaodasilva@chromium.org 'Software\\Policies\\Chromium\\Recommended', 320bb959423818266efea82162f48ad83e5eb2e8b2joaodasilva@chromium.org 'win_mandatory_category_path': ['chromium'], 330bb959423818266efea82162f48ad83e5eb2e8b2joaodasilva@chromium.org 'win_recommended_category_path': ['chromium_recommended'], 3401b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 'admx_namespace': 'Chromium.Policies.Chromium', 3501b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 'admx_prefix': 'chromium', 36740badd5e3e44434a9a47b5d16749daac1e8ea80joaodasilva@chromium.org 'linux_policy_path': '/etc/chromium/policies/', 3701b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org } 3801b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org elif '_google_chrome' in defines: 3901b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org config = { 4001b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 'build': 'chrome', 4101b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 'app_name': 'Google Chrome', 4201b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 'frame_name': 'Google Chrome Frame', 4301b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 'os_name': 'Google Chrome OS', 440bb959423818266efea82162f48ad83e5eb2e8b2joaodasilva@chromium.org 'win_reg_mandatory_key_name': 'Software\\Policies\\Google\\Chrome', 450bb959423818266efea82162f48ad83e5eb2e8b2joaodasilva@chromium.org 'win_reg_recommended_key_name': 460bb959423818266efea82162f48ad83e5eb2e8b2joaodasilva@chromium.org 'Software\\Policies\\Google\\Chrome\\Recommended', 470bb959423818266efea82162f48ad83e5eb2e8b2joaodasilva@chromium.org 'win_mandatory_category_path': ['google', 'googlechrome'], 480bb959423818266efea82162f48ad83e5eb2e8b2joaodasilva@chromium.org 'win_recommended_category_path': ['google', 'googlechrome_recommended'], 4901b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 'admx_namespace': 'Google.Policies.Chrome', 5001b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org 'admx_prefix': 'chrome', 51740badd5e3e44434a9a47b5d16749daac1e8ea80joaodasilva@chromium.org 'linux_policy_path': '/etc/opt/chrome/policies/', 5201b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org } 5301b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org else: 5401b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org raise Exception('Unknown build') 5501b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org config['win_group_policy_class'] = 'Both' 5601b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org config['win_supported_os'] = 'SUPPORTED_WINXPSP2' 5701b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org if 'mac_bundle_id' in defines: 5801b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org config['mac_bundle_id'] = defines['mac_bundle_id'] 5901b3bc768461bd303bff39f8cd1663682254e407joi@chromium.org return config 60