| # Copyright (C) 2013 The Android Open Source Project | 
 | # | 
 | # Licensed under the Apache License, Version 2.0 (the "License"); | 
 | # you may not use this file except in compliance with the License. | 
 | # You may obtain a copy of the License at | 
 | # | 
 | # http://www.apache.org/licenses/LICENSE-2.0 | 
 | # | 
 | # Unless required by applicable law or agreed to in writing, software | 
 | # distributed under the License is distributed on an "AS IS" BASIS, | 
 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
 | # See the License for the specific language governing permissions and | 
 | # limitations under the License. | 
 |  | 
 | BROWSERS = [ | 
 |   'chrome', | 
 |   'firefox', | 
 |   'gecko1_8', | 
 |   'safari', | 
 |   'msie', 'ie6', 'ie8', 'ie9', | 
 | ] | 
 | ALIASES = { | 
 |   'chrome': 'safari', | 
 |   'firefox': 'gecko1_8', | 
 |   'msie': 'ie9', | 
 | } | 
 | MODULE = 'com.google.gerrit.GerritGwtUI' | 
 |  | 
 | DEBUG_OPTS = [ | 
 |   '-style', 'PRETTY', | 
 |   '-optimize', '0', | 
 | ] | 
 |  | 
 | APP_DEPS = [':ui_module'] | 
 |  | 
 | def gwt_user_agent_permutations( | 
 |     name, | 
 |     module_name, | 
 |     module_target, | 
 |     compiler_opts = [], | 
 |     deps = [], | 
 |     browsers = [], | 
 |     visibility = []): | 
 |   for ua in browsers: | 
 |     impl = ua | 
 |     if ua in ALIASES: | 
 |       impl = ALIASES[ua] | 
 |     xml = ''.join([ | 
 |       "<module rename-to='%s'>" % module_name, | 
 |       "<inherits name='%s'/>" % module_target, | 
 |       "<set-property name='user.agent' value='%s'/>" % impl, | 
 |       "<set-property name='locale' value='default'/>", | 
 |       "</module>", | 
 |     ]) | 
 |     gwt = 'resources/%s_%s.gwt.xml' % (module_target.replace('.', '/'), ua) | 
 |     genrule( | 
 |       name = '%s_%s_gwtxml_gen' % (name, ua), | 
 |       cmd = 'mkdir -p $(dirname $OUT);echo "%s">$OUT' % xml, | 
 |       srcs = [],  | 
 |       deps = [], | 
 |       out = gwt, | 
 |     ) | 
 |     java_library( | 
 |       name = '%s_%s_gwtxml_lib' % (name, ua), | 
 |       resources = [genfile(gwt)], | 
 |       deps = [':%s_%s_gwtxml_gen' % (name, ua)], | 
 |     ) | 
 |     gwt_application( | 
 |       name = '%s_%s' % (name, ua), | 
 |       module_target = module_target + '_' + ua, | 
 |       compiler_opts = compiler_opts, | 
 |       deps = deps + [':%s_%s_gwtxml_lib' % (name, ua)], | 
 |       visibility = visibility, | 
 |     ) | 
 |  |