Skip to content

Commit

Permalink
Bug 1654103: Standardize on Black for Python code in `mozilla-central…
Browse files Browse the repository at this point in the history
…`. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky

Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
  • Loading branch information
Ricky Stewart committed Oct 23, 2020
1 parent 8f82fc1 commit c0cea3b
Show file tree
Hide file tree
Showing 3,432 changed files with 164,855 additions and 129,257 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
33 changes: 16 additions & 17 deletions .ycm_extra_conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,56 +12,55 @@
old_bytecode = sys.dont_write_bytecode
sys.dont_write_bytecode = True

path = os.path.abspath(os.path.join(os.path.dirname(__file__), 'mach'))
path = os.path.abspath(os.path.join(os.path.dirname(__file__), "mach"))

# If mach is not here, we're on the objdir go to the srcdir.
if not os.path.exists(path):
with open(os.path.join(os.path.dirname(__file__), 'mozinfo.json')) as info:
with open(os.path.join(os.path.dirname(__file__), "mozinfo.json")) as info:
config = json.loads(info.read())
path = os.path.join(config['topsrcdir'], 'mach')
path = os.path.join(config["topsrcdir"], "mach")

sys.dont_write_bytecode = old_bytecode


def _is_likely_cpp_header(filename):
if not filename.endswith('.h'):
if not filename.endswith(".h"):
return False

if filename.endswith('Inlines.h') or filename.endswith('-inl.h'):
if filename.endswith("Inlines.h") or filename.endswith("-inl.h"):
return True

cpp_file = filename[:-1] + 'cpp'
cpp_file = filename[:-1] + "cpp"
return os.path.exists(cpp_file)


def Settings(**kwargs):
if kwargs[ 'language' ] == 'cfamily':
return FlagsForFile(kwargs['filename'])
if kwargs["language"] == "cfamily":
return FlagsForFile(kwargs["filename"])
# This is useful for generic language server protocols, like rust-analyzer,
# to discover the right project root instead of guessing based on where the
# closest Cargo.toml is.
return {
'project_directory': '.',
"project_directory": ".",
}


def FlagsForFile(filename):
output = subprocess.check_output([path, 'compileflags', filename])
output = output.decode('utf-8')
output = subprocess.check_output([path, "compileflags", filename])
output = output.decode("utf-8")

flag_list = shlex.split(output)

# This flag is added by Fennec for android build and causes ycmd to fail to parse the file.
# Removing this flag is a workaround until ycmd starts to handle this flag properly.
# https://github.com/Valloric/YouCompleteMe/issues/1490
final_flags = [x for x in flag_list if not x.startswith('-march=armv')]
final_flags = [x for x in flag_list if not x.startswith("-march=armv")]

if _is_likely_cpp_header(filename):
final_flags += ["-x", "c++"]

return {
'flags': final_flags,
'do_cache': True
}
return {"flags": final_flags, "do_cache": True}


if __name__ == '__main__':
if __name__ == "__main__":
print(FlagsForFile(sys.argv[1]))
51 changes: 26 additions & 25 deletions accessible/android/moz.build
Original file line number Diff line number Diff line change
Expand Up @@ -4,38 +4,39 @@
# 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/.

EXPORTS.mozilla.a11y += ['AccessibleWrap.h',
'HyperTextAccessibleWrap.h',
'SessionAccessibility.h',
'TraversalRule.h',
EXPORTS.mozilla.a11y += [
"AccessibleWrap.h",
"HyperTextAccessibleWrap.h",
"SessionAccessibility.h",
"TraversalRule.h",
]

SOURCES += [
'AccessibleWrap.cpp',
'DocAccessibleWrap.cpp',
'Platform.cpp',
'ProxyAccessibleWrap.cpp',
'RootAccessibleWrap.cpp',
'SessionAccessibility.cpp',
'TraversalRule.cpp',
"AccessibleWrap.cpp",
"DocAccessibleWrap.cpp",
"Platform.cpp",
"ProxyAccessibleWrap.cpp",
"RootAccessibleWrap.cpp",
"SessionAccessibility.cpp",
"TraversalRule.cpp",
]

LOCAL_INCLUDES += [
'/accessible/base',
'/accessible/generic',
'/accessible/html',
'/accessible/ipc',
'/accessible/ipc/other',
'/accessible/xpcom',
'/accessible/xul',
'/dom/base',
'/widget',
'/widget/android',
"/accessible/base",
"/accessible/generic",
"/accessible/html",
"/accessible/ipc",
"/accessible/ipc/other",
"/accessible/xpcom",
"/accessible/xul",
"/dom/base",
"/widget",
"/widget/android",
]

FINAL_LIBRARY = 'xul'
FINAL_LIBRARY = "xul"

include('/ipc/chromium/chromium-config.mozbuild')
include("/ipc/chromium/chromium-config.mozbuild")

if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
CXXFLAGS += ['-Wno-error=shadow']
if CONFIG["CC_TYPE"] in ("clang", "gcc"):
CXXFLAGS += ["-Wno-error=shadow"]
32 changes: 16 additions & 16 deletions accessible/aom/moz.build
Original file line number Diff line number Diff line change
Expand Up @@ -5,40 +5,40 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

EXPORTS.mozilla.dom += [
'AccessibleNode.h',
"AccessibleNode.h",
]

UNIFIED_SOURCES += [
'AccessibleNode.cpp',
"AccessibleNode.cpp",
]

LOCAL_INCLUDES += [
'/accessible/base',
'/accessible/generic',
"/accessible/base",
"/accessible/generic",
]

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk':
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
LOCAL_INCLUDES += [
'/accessible/atk',
"/accessible/atk",
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
LOCAL_INCLUDES += [
'/accessible/windows/ia2',
'/accessible/windows/msaa',
"/accessible/windows/ia2",
"/accessible/windows/msaa",
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
LOCAL_INCLUDES += [
'/accessible/mac',
"/accessible/mac",
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "android":
LOCAL_INCLUDES += [
'/accessible/android',
"/accessible/android",
]
else:
LOCAL_INCLUDES += [
'/accessible/other',
"/accessible/other",
]

include('/ipc/chromium/chromium-config.mozbuild')
include("/ipc/chromium/chromium-config.mozbuild")

FINAL_LIBRARY = 'xul'
FINAL_LIBRARY = "xul"
84 changes: 42 additions & 42 deletions accessible/atk/moz.build
Original file line number Diff line number Diff line change
Expand Up @@ -5,61 +5,61 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

EXPORTS.mozilla.a11y += [
'AccessibleWrap.h',
'HyperTextAccessibleWrap.h',
"AccessibleWrap.h",
"HyperTextAccessibleWrap.h",
]

SOURCES += [
'AccessibleWrap.cpp',
'ApplicationAccessibleWrap.cpp',
'AtkSocketAccessible.cpp',
'DocAccessibleWrap.cpp',
'DOMtoATK.cpp',
'nsMaiHyperlink.cpp',
'nsMaiInterfaceAction.cpp',
'nsMaiInterfaceComponent.cpp',
'nsMaiInterfaceDocument.cpp',
'nsMaiInterfaceEditableText.cpp',
'nsMaiInterfaceHyperlinkImpl.cpp',
'nsMaiInterfaceHypertext.cpp',
'nsMaiInterfaceImage.cpp',
'nsMaiInterfaceSelection.cpp',
'nsMaiInterfaceTable.cpp',
'nsMaiInterfaceTableCell.cpp',
'nsMaiInterfaceText.cpp',
'nsMaiInterfaceValue.cpp',
'Platform.cpp',
'RootAccessibleWrap.cpp',
'UtilInterface.cpp',
"AccessibleWrap.cpp",
"ApplicationAccessibleWrap.cpp",
"AtkSocketAccessible.cpp",
"DocAccessibleWrap.cpp",
"DOMtoATK.cpp",
"nsMaiHyperlink.cpp",
"nsMaiInterfaceAction.cpp",
"nsMaiInterfaceComponent.cpp",
"nsMaiInterfaceDocument.cpp",
"nsMaiInterfaceEditableText.cpp",
"nsMaiInterfaceHyperlinkImpl.cpp",
"nsMaiInterfaceHypertext.cpp",
"nsMaiInterfaceImage.cpp",
"nsMaiInterfaceSelection.cpp",
"nsMaiInterfaceTable.cpp",
"nsMaiInterfaceTableCell.cpp",
"nsMaiInterfaceText.cpp",
"nsMaiInterfaceValue.cpp",
"Platform.cpp",
"RootAccessibleWrap.cpp",
"UtilInterface.cpp",
]

LOCAL_INCLUDES += [
'/accessible/base',
'/accessible/generic',
'/accessible/html',
'/accessible/ipc',
'/accessible/ipc/other',
'/accessible/xpcom',
'/accessible/xul',
'/other-licenses/atk-1.0',
"/accessible/base",
"/accessible/generic",
"/accessible/html",
"/accessible/ipc",
"/accessible/ipc/other",
"/accessible/xpcom",
"/accessible/xul",
"/other-licenses/atk-1.0",
]

FINAL_LIBRARY = 'xul'
FINAL_LIBRARY = "xul"

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk':
CFLAGS += CONFIG['TK_CFLAGS']
CXXFLAGS += CONFIG['TK_CFLAGS']
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
CFLAGS += CONFIG["TK_CFLAGS"]
CXXFLAGS += CONFIG["TK_CFLAGS"]

if CONFIG['MOZ_ENABLE_DBUS']:
CXXFLAGS += CONFIG['MOZ_DBUS_CFLAGS']
if CONFIG["MOZ_ENABLE_DBUS"]:
CXXFLAGS += CONFIG["MOZ_DBUS_CFLAGS"]

include('/ipc/chromium/chromium-config.mozbuild')
include("/ipc/chromium/chromium-config.mozbuild")

if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
if CONFIG["CC_TYPE"] in ("clang", "gcc"):
# Used in G_DEFINE_TYPE_EXTENDED macro, probably fixed in newer glib /
# gobject headers. See bug 1243331 comment 3.
CXXFLAGS += [
'-Wno-error=unused-function',
'-Wno-error=shadow',
'-Wno-unused-local-typedefs',
"-Wno-error=unused-function",
"-Wno-error=shadow",
"-Wno-unused-local-typedefs",
]
Loading

0 comments on commit c0cea3b

Please sign in to comment.