mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 16:55:40 +00:00
Bug 1223385 - remove b2g_desktop_multilocale script due to being unused (dougt-encouraged). r=jlund
MozReview-Commit-ID: Cc8PzufqoZF --HG-- extra : rebase_source : 8e3ff82e569ce8808288fea8a3481d389e73c37d
This commit is contained in:
parent
3b3a7eeefd
commit
70fecb5100
@ -1,210 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
# You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
||||
# load modules from parent dir
|
||||
sys.path.insert(1, os.path.dirname(sys.path[0]))
|
||||
|
||||
# import the guts
|
||||
from mozharness.base.config import parse_config_file
|
||||
from mozharness.base.errors import MakefileErrorList
|
||||
from mozharness.base.log import ERROR, FATAL
|
||||
from mozharness.base.script import BaseScript
|
||||
from mozharness.base.vcs.vcsbase import VCSMixin
|
||||
from mozharness.mozilla.l10n.locales import GaiaLocalesMixin, LocalesMixin
|
||||
|
||||
|
||||
class B2gMultilocale(LocalesMixin, BaseScript, VCSMixin, GaiaLocalesMixin):
|
||||
""" This is a helper script that requires MercurialBuildFactory
|
||||
logic to work. We may eventually make this a standalone
|
||||
script.
|
||||
|
||||
We could inherit MercurialScript instead of BaseScript + VCSMixin
|
||||
"""
|
||||
config_options = [
|
||||
[["--locale"], {
|
||||
"action": "extend",
|
||||
"dest": "locales",
|
||||
"type": "string",
|
||||
"help": "Specify the locale(s) to repack"
|
||||
}],
|
||||
[["--gaia-languages-file"], {
|
||||
"dest": "gaia_languages_file",
|
||||
"help": "languages file for gaia multilocale profile",
|
||||
}],
|
||||
[["--gecko-languages-file"], {
|
||||
"dest": "locales_file",
|
||||
"help": "languages file for gecko multilocale",
|
||||
}],
|
||||
[["--gecko-l10n-root"], {
|
||||
"dest": "hg_l10n_base",
|
||||
"help": "root location for gecko l10n repos",
|
||||
}],
|
||||
[["--gecko-l10n-base-dir"], {
|
||||
"dest": "l10n_dir",
|
||||
"help": "dir to clone gecko l10n repos into, relative to the work directory",
|
||||
}],
|
||||
[["--merge-locales"], {
|
||||
"dest": "merge_locales",
|
||||
"help": "Dummy option to keep from burning. We now always merge",
|
||||
}],
|
||||
[["--gaia-l10n-root"], {
|
||||
"dest": "gaia_l10n_root",
|
||||
"help": "root location for gaia l10n repos",
|
||||
}],
|
||||
[["--gaia-l10n-base-dir"], {
|
||||
"dest": "gaia_l10n_base_dir",
|
||||
"default": "build-gaia-l10n",
|
||||
"help": "dir to clone l10n repos into, relative to the work directory",
|
||||
}],
|
||||
[["--gaia-l10n-vcs"], {
|
||||
"dest": "gaia_l10n_vcs",
|
||||
"help": "vcs to use for gaia l10n",
|
||||
}],
|
||||
]
|
||||
|
||||
def __init__(self, require_config_file=False):
|
||||
LocalesMixin.__init__(self)
|
||||
BaseScript.__init__(self,
|
||||
config_options=self.config_options,
|
||||
all_actions=[
|
||||
'pull',
|
||||
'build',
|
||||
'summary',
|
||||
],
|
||||
require_config_file=require_config_file,
|
||||
|
||||
# Default configuration
|
||||
config={
|
||||
'gaia_l10n_vcs': 'hg',
|
||||
'vcs_share_base': os.environ.get('HG_SHARE_BASE_DIR'),
|
||||
'locales_dir': 'b2g/locales',
|
||||
'l10n_dir': 'gecko-l10n',
|
||||
# I forget what this was for. Copied from the Android multilocale stuff
|
||||
'ignore_locales': ["en-US", "multi"],
|
||||
# This only has 2 locales in it. We probably need files that mirror gaia's locale lists
|
||||
# We need 2 sets of locales files because the locale names in gaia are different than gecko, e.g. 'es' vs 'es-ES'
|
||||
# We'll need to override this for localizer buidls
|
||||
'locales_file': 'build/b2g/locales/all-locales',
|
||||
'mozilla_dir': 'build',
|
||||
'objdir': 'obj-firefox',
|
||||
'merge_locales': True,
|
||||
'work_dir': '.',
|
||||
'vcs_output_timeout': 600, # 10 minutes should be enough for anyone!
|
||||
},
|
||||
)
|
||||
|
||||
def _pre_config_lock(self, rw_config):
|
||||
super(B2gMultilocale, self)._pre_config_lock(rw_config)
|
||||
|
||||
if 'pull' in self.actions:
|
||||
message = ""
|
||||
if 'gaia_languages_file' not in self.config:
|
||||
message += 'Must specify --gaia-languages-file!\n'
|
||||
if 'gaia_l10n_root' not in self.config:
|
||||
message += 'Must specify --gaia-l10n-root!\n'
|
||||
if 'locales_file' not in self.config:
|
||||
message += 'Must specify --gecko-languages-file!\n'
|
||||
if 'hg_l10n_base' not in self.config:
|
||||
message += 'Must specify --gecko-l10n-root!\n'
|
||||
if message:
|
||||
self.fatal(message)
|
||||
|
||||
def query_abs_dirs(self):
|
||||
if self.abs_dirs:
|
||||
return self.abs_dirs
|
||||
abs_dirs = LocalesMixin.query_abs_dirs(self)
|
||||
|
||||
c = self.config
|
||||
dirs = {
|
||||
'src': os.path.join(c['work_dir'], 'gecko'),
|
||||
'work_dir': abs_dirs['abs_work_dir'],
|
||||
'gaia_l10n_base_dir': os.path.join(abs_dirs['abs_work_dir'], self.config['gaia_l10n_base_dir']),
|
||||
'abs_compare_locales_dir': os.path.join(abs_dirs['base_work_dir'], 'compare-locales'),
|
||||
}
|
||||
|
||||
abs_dirs.update(dirs)
|
||||
self.abs_dirs = abs_dirs
|
||||
return self.abs_dirs
|
||||
|
||||
# Actions {{{2
|
||||
def pull(self):
|
||||
""" Clone gaia and gecko locale repos
|
||||
"""
|
||||
languages_file = self.config['gaia_languages_file']
|
||||
l10n_base_dir = self.query_abs_dirs()['gaia_l10n_base_dir']
|
||||
l10n_config = {
|
||||
'root': self.config['gaia_l10n_root'],
|
||||
'vcs': self.config['gaia_l10n_vcs'],
|
||||
}
|
||||
|
||||
self.pull_gaia_locale_source(l10n_config, parse_config_file(languages_file).keys(), l10n_base_dir)
|
||||
self.pull_locale_source()
|
||||
gecko_locales = self.query_locales()
|
||||
# populate b2g/overrides, which isn't in gecko atm
|
||||
dirs = self.query_abs_dirs()
|
||||
for locale in gecko_locales:
|
||||
self.mkdir_p(os.path.join(dirs['abs_l10n_dir'], locale, 'b2g', 'chrome', 'overrides'))
|
||||
self.copytree(os.path.join(dirs['abs_l10n_dir'], locale, 'mobile', 'overrides'),
|
||||
os.path.join(dirs['abs_l10n_dir'], locale, 'b2g', 'chrome', 'overrides'),
|
||||
error_level=FATAL)
|
||||
|
||||
def build(self):
|
||||
""" Do the multilocale portion of the build + packaging.
|
||||
"""
|
||||
dirs = self.query_abs_dirs()
|
||||
gecko_locales = self.query_locales()
|
||||
make = self.query_exe('make', return_type='string')
|
||||
env = self.query_env(
|
||||
partial_env={
|
||||
'LOCALE_MERGEDIR': dirs['abs_merge_dir'].replace(os.sep, '/'),
|
||||
'MOZ_CHROME_MULTILOCALE': 'en-US ' + ' '.join(gecko_locales),
|
||||
}
|
||||
)
|
||||
merge_env = self.query_env(
|
||||
partial_env={
|
||||
'PATH': '%(PATH)s' + os.pathsep + os.path.join(dirs['abs_compare_locales_dir'], 'scripts'),
|
||||
'PYTHONPATH': os.path.join(dirs['abs_compare_locales_dir'],
|
||||
'lib'),
|
||||
|
||||
}
|
||||
)
|
||||
for locale in gecko_locales:
|
||||
command = make + ' merge-%s L10NBASEDIR=%s LOCALE_MERGEDIR=%s' % (
|
||||
locale, dirs['abs_l10n_dir'], dirs['abs_merge_dir'].replace(os.sep, '/'))
|
||||
status = self.run_command(command,
|
||||
cwd=dirs['abs_locales_dir'],
|
||||
error_list=MakefileErrorList,
|
||||
env=merge_env)
|
||||
command = make + ' chrome-%s L10NBASEDIR=%s LOCALE_MERGEDIR=%s' % (
|
||||
locale, dirs['abs_l10n_dir'], dirs['abs_merge_dir'].replace(os.sep, '/'))
|
||||
status = self.run_command(command,
|
||||
cwd=dirs['abs_locales_dir'],
|
||||
error_list=MakefileErrorList)
|
||||
if status:
|
||||
self.add_summary("Failed to add locale %s!" % locale, level=ERROR)
|
||||
command = make + ' -C app'
|
||||
self.run_command(command,
|
||||
cwd=os.path.join(dirs['abs_objdir'], 'b2g'),
|
||||
error_list=MakefileErrorList,
|
||||
halt_on_failure=True)
|
||||
command = make + ' package AB_CD=multi'
|
||||
self.run_command(command, cwd=dirs['abs_objdir'],
|
||||
error_list=MakefileErrorList, env=env,
|
||||
halt_on_failure=True)
|
||||
command = make + ' package-tests AB_CD=multi'
|
||||
self.run_command(command, cwd=dirs['abs_objdir'],
|
||||
error_list=MakefileErrorList, env=env,
|
||||
halt_on_failure=True)
|
||||
|
||||
|
||||
# main {{{1
|
||||
if __name__ == '__main__':
|
||||
myScript = B2gMultilocale()
|
||||
myScript.run_and_exit()
|
Loading…
Reference in New Issue
Block a user