Files
gerrit/gerrit-gwtui/DEFS
Shawn Pearce 11d27c8ee8 Update Buck
Latest version of buck is faster than the prior version used by
Gerrit.  No-op updates when loading a debug version of the UI now take
only 1.804s on my laptop (previously 7s) and a draft UI compile is
only 24.659s (previously 39s).

The slow acceptance tests must now be excluded with `--exclude slow`.
Buck changed the meaning of the -e option to be --emulator, which is
unfortunately useful only for Android application developers.

genrule() now needs to use $(exe) to reference the binary to run,
offers $(location) to make it easier to find files in the build tree.

The empty srcs array is no longer required for genrule().  Buck has
determined it is sufficiently powerful with $(location) and deps that
requiring srcs is unnecessary.

Supporting .src.zip files in the srcs array of java_library() means
Gerrit no longer needs to run a separate genrule() to extract files
produced by ANTLR, or call javac inside of the BuckPrologCompiler
support glue.

Change-Id: Ib03042921a081b867a7aad0423bd45523e42917a
2013-07-26 18:11:51 -07:00

78 lines
2.1 KiB
Plaintext

# 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 = '%s_%s.gwt.xml' % (module_target.replace('.', '/'), ua)
jar = '%s_%s.gwtxml.jar' % (name, ua)
genrule(
name = '%s_%s_gwtxml_gen' % (name, ua),
cmd = 'cd $TMP;' +
('mkdir -p $(dirname %s);' % gwt) +
('echo "%s">%s;' % (xml, gwt)) +
'zip -qr $OUT .',
out = jar,
)
prebuilt_jar(
name = '%s_%s_gwtxml_lib' % (name, ua),
binary_jar = genfile(jar),
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,
)