From 2aa4a82499d4becd2284cdb482213d541b8804dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 16:29:10 +0200 Subject: Adding upstream version 86.0.1. Signed-off-by: Daniel Baumann --- tools/compare-locales/mach_commands.py | 94 ++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 tools/compare-locales/mach_commands.py (limited to 'tools/compare-locales') diff --git a/tools/compare-locales/mach_commands.py b/tools/compare-locales/mach_commands.py new file mode 100644 index 0000000000..a8c1c90154 --- /dev/null +++ b/tools/compare-locales/mach_commands.py @@ -0,0 +1,94 @@ +# 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/. + +from __future__ import absolute_import, print_function, unicode_literals + +from mach.decorators import ( + CommandArgument, + CommandProvider, + Command, +) +from mach.base import FailedCommandError +from mozbuild.base import MachCommandBase + + +@CommandProvider +class CompareLocales(MachCommandBase): + """Run compare-locales.""" + + @Command( + "compare-locales", + category="build", + description="Run source checks on a localization.", + ) + @CommandArgument( + "config_paths", + metavar="l10n.toml", + nargs="+", + help="TOML or INI file for the project", + ) + @CommandArgument( + "l10n_base_dir", + metavar="l10n-base-dir", + help="Parent directory of localizations", + ) + @CommandArgument( + "locales", + nargs="*", + metavar="locale-code", + help="Locale code and top-level directory of " "each localization", + ) + @CommandArgument( + "-q", + "--quiet", + action="count", + default=0, + help="""Show less data. +Specified once, don't show obsolete entities. Specified twice, also hide +missing entities. Specify thrice to exclude warnings and four times to +just show stats""", + ) + @CommandArgument( + "-m", "--merge", help="""Use this directory to stage merged files""" + ) + @CommandArgument( + "--validate", action="store_true", help="Run compare-locales against reference" + ) + @CommandArgument( + "--json", + help="""Serialize to JSON. Value is the name of +the output file, pass "-" to serialize to stdout and hide the default output. +""", + ) + @CommandArgument( + "-D", + action="append", + metavar="var=value", + default=[], + dest="defines", + help="Overwrite variables in TOML files", + ) + @CommandArgument( + "--full", action="store_true", help="Compare projects that are disabled" + ) + @CommandArgument( + "--return-zero", action="store_true", help="Return 0 regardless of l10n status" + ) + def compare(self, **kwargs): + from compare_locales.commands import CompareLocales + + class ErrorHelper(object): + """Dummy ArgumentParser to marshall compare-locales + commandline errors to mach exceptions. + """ + + def error(self, msg): + raise FailedCommandError(msg) + + def exit(self, message=None, status=0): + raise FailedCommandError(message, exit_code=status) + + cmd = CompareLocales() + cmd.parser = ErrorHelper() + return cmd.handle(**kwargs) -- cgit v1.2.3