Bug 1411004 - ./mach clang-format: Better handling of relative paths r=mystor=mystor

For example, this is addressing the issue:
./mach clang-format -p ./mfbt/

MozReview-Commit-ID: Le8mPTOEfA7

--HG--
extra : rebase_source : ed196a2a86793d6601f590ce04744ebc7f3cd303
This commit is contained in:
Sylvestre Ledru 2017-10-30 18:36:28 +01:00
Родитель 8d87f8dc5c
Коммит 8aad132e5c
2 изменённых файлов: 130 добавлений и 129 удалений

Просмотреть файл

@ -1,136 +1,136 @@
# Uses the LLVM coding style
^build/clang-plugin/.*
build/clang-plugin/.*
# The two templates cannot be formatted
^config/gcc-stl-wrapper.template.h
^config/msvc-stl-wrapper.template.h
^dom/base/test/.*
^dom/bindings/test/.*
^dom/media/gtest/.*
^gfx/testsd/.*
^image/test/.*
^ipc/ipdl/test/.*
^ipc/testshell/.*
^js/src/jsapi-tests/.*
config/gcc-stl-wrapper.template.h
config/msvc-stl-wrapper.template.h
dom/base/test/.*
dom/bindings/test/.*
dom/media/gtest/.*
gfx/testsd/.*
image/test/.*
ipc/ipdl/test/.*
ipc/testshell/.*
js/src/jsapi-tests/.*
# See bug 1395584
^js/src/vm/Opcodes.h
js/src/vm/Opcodes.h
# Ignored because of bug 1342657
^layout/style/nsCSSPropAliasList.h
layout/style/nsCSSPropAliasList.h
# Ignored because of bug 1342657
^layout/style/nsCSSPropList.h
^media/mtransport/test/.*
^mfbt/tests/.*
^storage/test/.*
^testing/gtest/.*
^tools/profiler/tests/.*
^uriloader/exthandler/tests/.*
layout/style/nsCSSPropList.h
media/mtransport/test/.*
mfbt/tests/.*
storage/test/.*
testing/gtest/.*
tools/profiler/tests/.*
uriloader/exthandler/tests/.*
# JNI code is generated
^widget/android/GeneratedJNINatives.h
^widget/android/GeneratedJNIWrappers.cpp
^widget/android/GeneratedJNIWrappers.h
^widget/android/fennec/FennecJNINatives.h
^widget/android/fennec/FennecJNIWrappers.cpp
^widget/android/fennec/FennecJNIWrappers.h
^widget/tests/.*
^xpcom/glue/tests/.*
^xpcom/tests/.*
widget/android/GeneratedJNINatives.h
widget/android/GeneratedJNIWrappers.cpp
widget/android/GeneratedJNIWrappers.h
widget/android/fennec/FennecJNINatives.h
widget/android/fennec/FennecJNIWrappers.cpp
widget/android/fennec/FennecJNIWrappers.h
widget/tests/.*
xpcom/glue/tests/.*
xpcom/tests/.*
# Generated from ./tools/rewriting/ThirdPartyPaths.txt
# awk '{print "^"$1".*"}' ./tools/rewriting/ThirdPartyPaths.txt
^browser/components/translation/cld2/.*
^browser/extensions/mortar/ppapi/.*
^db/sqlite3/src/.*
^extensions/spellcheck/hunspell/src/.*
^gfx/angle/.*
^gfx/cairo/.*
^gfx/graphite2/.*
^gfx/harfbuzz/.*
^gfx/ots/.*
^gfx/qcms/.*
^gfx/sfntly/.*
^gfx/skia/.*
^gfx/vr/openvr/.*
^gfx/webrender.*
^gfx/webrender_api.*
^gfx/ycbcr/.*
^intl/hyphenation/hyphen/.*
^intl/icu/.*
^ipc/chromium/.*
^js/src/ctypes/libffi/.*
^js/src/dtoa.c.*
^js/src/jit/arm64/vixl/.*
^media/ffvpx/.*
^media/gmp-clearkey/0.1/openaes/.*
^media/kiss_fft/.*
^media/libav/.*
^media/libcubeb/.*
^media/libjpeg/.*
^media/libmkv/.*
^media/libnestegg/.*
^media/libogg/.*
^media/libopus/.*
^media/libpng/.*
^media/libsoundtouch/.*
^media/libspeex_resampler/.*
^media/libstagefright/.*
^media/libtheora/.*
^media/libtremor/.*
^media/libvorbis/.*
^media/libvpx/.*
^media/libyuv/.*
^media/mtransport/third_party/.*
^media/openmax_dl/.*
^media/sphinxbase/.*
^media/webrtc/signaling/src/sdp/sipcc/.*
^media/webrtc/trunk/.*
^mfbt/decimal/.*
^mfbt/double-conversion/double-conversion/.*
^mobile/android/geckoview/src/thirdparty/.*
^mobile/android/thirdparty/.*
^modules/brotli/.*
^modules/fdlibm/.*
^modules/freetype2/.*
^modules/libbz2/.*
^modules/libmar/.*
^modules/pdfium/.*
^modules/woff2/.*
^modules/zlib/.*
^netwerk/sctp/src/.*
^netwerk/srtp/src/.*
^nsprpub/.*
^other-licenses/.*
^parser/expat/.*
^security/nss/.*
^security/sandbox/chromium/.*
^testing/gtest/gmock/.*
^testing/gtest/gtest/.*
^testing/talos/talos/tests/canvasmark/.*
^testing/talos/talos/tests/dromaeo/.*
^testing/talos/talos/tests/kraken/.*
^testing/talos/talos/tests/v8_7/.*
^third_party/aom/.*
^third_party/python/blessings/.*
^third_party/python/configobj/.*
^third_party/python/futures/.*
^third_party/python/jsmin/.*
^third_party/python/mock-*/.*
^third_party/python/psutil/.*
^third_party/python/py/.*
^third_party/python/pyasn1/.*
^third_party/python/pyasn1-modules/.*
^third_party/python/PyECC/.*
^third_party/python/pytest/.*
^third_party/python/pytoml/.*
^third_party/python/pyyaml/.*
^third_party/python/redo/.*
^third_party/python/requests/.*
^third_party/python/rsa/.*
^third_party/python/six/.*
^third_party/python/which/.*
^third_party/rust/.*
^toolkit/components/jsoncpp/.*
^toolkit/components/lz4/.*
^toolkit/components/protobuf/.*
^toolkit/components/url-classifier/chromium/.*
^toolkit/components/url-classifier/protobuf/.*
^toolkit/crashreporter/google-breakpad/.*
^tools/fuzzing/libfuzzer.*
# awk '{print ""$1".*"}' ./tools/rewriting/ThirdPartyPaths.txt
browser/components/translation/cld2/.*
browser/extensions/mortar/ppapi/.*
db/sqlite3/src/.*
extensions/spellcheck/hunspell/src/.*
gfx/angle/.*
gfx/cairo/.*
gfx/graphite2/.*
gfx/harfbuzz/.*
gfx/ots/.*
gfx/qcms/.*
gfx/sfntly/.*
gfx/skia/.*
gfx/vr/openvr/.*
gfx/webrender.*
gfx/webrender_api.*
gfx/ycbcr/.*
intl/hyphenation/hyphen/.*
intl/icu/.*
ipc/chromium/.*
js/src/ctypes/libffi/.*
js/src/dtoa.c.*
js/src/jit/arm64/vixl/.*
media/ffvpx/.*
media/gmp-clearkey/0.1/openaes/.*
media/kiss_fft/.*
media/libav/.*
media/libcubeb/.*
media/libjpeg/.*
media/libmkv/.*
media/libnestegg/.*
media/libogg/.*
media/libopus/.*
media/libpng/.*
media/libsoundtouch/.*
media/libspeex_resampler/.*
media/libstagefright/.*
media/libtheora/.*
media/libtremor/.*
media/libvorbis/.*
media/libvpx/.*
media/libyuv/.*
media/mtransport/third_party/.*
media/openmax_dl/.*
media/sphinxbase/.*
media/webrtc/signaling/src/sdp/sipcc/.*
media/webrtc/trunk/.*
mfbt/decimal/.*
mfbt/double-conversion/double-conversion/.*
mobile/android/geckoview/src/thirdparty/.*
mobile/android/thirdparty/.*
modules/brotli/.*
modules/fdlibm/.*
modules/freetype2/.*
modules/libbz2/.*
modules/libmar/.*
modules/pdfium/.*
modules/woff2/.*
modules/zlib/.*
netwerk/sctp/src/.*
netwerk/srtp/src/.*
nsprpub/.*
other-licenses/.*
parser/expat/.*
security/nss/.*
security/sandbox/chromium/.*
testing/gtest/gmock/.*
testing/gtest/gtest/.*
testing/talos/talos/tests/canvasmark/.*
testing/talos/talos/tests/dromaeo/.*
testing/talos/talos/tests/kraken/.*
testing/talos/talos/tests/v8_7/.*
third_party/aom/.*
third_party/python/blessings/.*
third_party/python/configobj/.*
third_party/python/futures/.*
third_party/python/jsmin/.*
third_party/python/mock-*/.*
third_party/python/psutil/.*
third_party/python/py/.*
third_party/python/pyasn1/.*
third_party/python/pyasn1-modules/.*
third_party/python/PyECC/.*
third_party/python/pytest/.*
third_party/python/pytoml/.*
third_party/python/pyyaml/.*
third_party/python/redo/.*
third_party/python/requests/.*
third_party/python/rsa/.*
third_party/python/six/.*
third_party/python/which/.*
third_party/rust/.*
toolkit/components/jsoncpp/.*
toolkit/components/lz4/.*
toolkit/components/protobuf/.*
toolkit/components/url-classifier/chromium/.*
toolkit/components/url-classifier/protobuf/.*
toolkit/crashreporter/google-breakpad/.*
tools/fuzzing/libfuzzer.*

Просмотреть файл

@ -304,7 +304,8 @@ class FormatProvider(MachCommandBase):
# Remove comments and empty lines
if line.startswith('#') or len(line.strip()) == 0:
continue
ignored_dir.append(line.rstrip())
# The regexp is to make sure we are managing relative paths
ignored_dir.append("^[\./]*" + line.rstrip())
# Generates the list of regexp
ignored_dir_re = '(%s)' % '|'.join(ignored_dir)