# python3 # Copyright (C) 2019 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. """Define a project list to sort warnings by project directory path.""" def create_pattern(name, pattern=None): """Return a tuple of name and warn patten.""" if pattern is not None: return [name, '(^|.*/)' + pattern + '/.*: warning:'] return [name, '(^|.*/)' + name + '/.*: warning:'] # A list of [project_name, file_path_pattern]. # project_name should not contain comma, to be used in CSV output. project_list = [ create_pattern('art'), create_pattern('bionic'), create_pattern('bootable'), create_pattern('build'), create_pattern('cts'), create_pattern('dalvik'), create_pattern('developers'), create_pattern('development'), create_pattern('device'), create_pattern('doc'), # match external/google* before external/ create_pattern('external/google', 'external/google.*'), create_pattern('external/non-google', 'external'), create_pattern('frameworks/av/camera'), create_pattern('frameworks/av/cmds'), create_pattern('frameworks/av/drm'), create_pattern('frameworks/av/include'), create_pattern('frameworks/av/media/img_utils'), create_pattern('frameworks/av/media/libcpustats'), create_pattern('frameworks/av/media/libeffects'), create_pattern('frameworks/av/media/libmediaplayerservice'), create_pattern('frameworks/av/media/libmedia'), create_pattern('frameworks/av/media/libstagefright'), create_pattern('frameworks/av/media/mtp'), create_pattern('frameworks/av/media/ndk'), create_pattern('frameworks/av/media/utils'), create_pattern('frameworks/av/media/Other', 'frameworks/av/media'), create_pattern('frameworks/av/radio'), create_pattern('frameworks/av/services'), create_pattern('frameworks/av/soundtrigger'), create_pattern('frameworks/av/Other', 'frameworks/av'), create_pattern('frameworks/base/cmds'), create_pattern('frameworks/base/core'), create_pattern('frameworks/base/drm'), create_pattern('frameworks/base/media'), create_pattern('frameworks/base/libs'), create_pattern('frameworks/base/native'), create_pattern('frameworks/base/packages'), create_pattern('frameworks/base/rs'), create_pattern('frameworks/base/services'), create_pattern('frameworks/base/tests'), create_pattern('frameworks/base/tools'), create_pattern('frameworks/base/Other', 'frameworks/base'), create_pattern('frameworks/compile/libbcc'), create_pattern('frameworks/compile/mclinker'), create_pattern('frameworks/compile/slang'), create_pattern('frameworks/compile/Other', 'frameworks/compile'), create_pattern('frameworks/minikin'), create_pattern('frameworks/ml'), create_pattern('frameworks/native/cmds'), create_pattern('frameworks/native/include'), create_pattern('frameworks/native/libs'), create_pattern('frameworks/native/opengl'), create_pattern('frameworks/native/services'), create_pattern('frameworks/native/vulkan'), create_pattern('frameworks/native/Other', 'frameworks/native'), create_pattern('frameworks/opt'), create_pattern('frameworks/rs'), create_pattern('frameworks/webview'), create_pattern('frameworks/wilhelm'), create_pattern('frameworks/Other', 'frameworks'), create_pattern('hardware/akm'), create_pattern('hardware/broadcom'), create_pattern('hardware/google'), create_pattern('hardware/intel'), create_pattern('hardware/interfaces'), create_pattern('hardware/libhardware'), create_pattern('hardware/libhardware_legacy'), create_pattern('hardware/qcom'), create_pattern('hardware/ril'), create_pattern('hardware/Other', 'hardware'), create_pattern('kernel'), create_pattern('libcore'), create_pattern('libnativehelper'), create_pattern('ndk'), # match vendor/unbungled_google/packages before other packages create_pattern('unbundled_google'), create_pattern('packages/providers/MediaProvider'), create_pattern('packages'), create_pattern('pdk'), create_pattern('prebuilts'), create_pattern('system/bt'), create_pattern('system/connectivity'), create_pattern('system/core/adb'), create_pattern('system/libbase'), create_pattern('system/core/debuggerd'), create_pattern('system/core/fastboot'), create_pattern('system/core/fingerprintd'), create_pattern('system/core/fs_mgr'), create_pattern('system/core/gatekeeperd'), create_pattern('system/core/healthd'), create_pattern('system/core/include'), create_pattern('system/core/init'), create_pattern('system/unwinding/libbacktrace'), create_pattern('system/logging/liblog'), create_pattern('system/core/libpixelflinger'), create_pattern('system/core/libprocessgroup'), create_pattern('system/core/libsysutils'), create_pattern('system/core/logcat'), create_pattern('system/core/logd'), create_pattern('system/core/run-as'), create_pattern('system/core/sdcard'), create_pattern('system/core/toolbox'), create_pattern('system/core/Other', 'system/core'), create_pattern('system/extras/ANRdaemon'), create_pattern('system/extras/cpustats'), create_pattern('system/extras/crypto-perf'), create_pattern('system/extras/ext4_utils'), create_pattern('system/extras/f2fs_utils'), create_pattern('system/extras/iotop'), create_pattern('system/extras/libfec'), create_pattern('system/extras/memory_replay'), create_pattern('system/extras/mmap-perf'), create_pattern('system/extras/multinetwork'), create_pattern('system/extras/perfprofd'), create_pattern('system/extras/procrank'), create_pattern('system/extras/runconuid'), create_pattern('system/extras/showmap'), create_pattern('system/extras/simpleperf'), create_pattern('system/extras/su'), create_pattern('system/extras/tests'), create_pattern('system/extras/verity'), create_pattern('system/extras/Other', 'system/extras'), create_pattern('system/gatekeeper'), create_pattern('system/keymaster'), create_pattern('system/libhidl'), create_pattern('system/libhwbinder'), create_pattern('system/media'), create_pattern('system/netd'), create_pattern('system/nvram'), create_pattern('system/security'), create_pattern('system/sepolicy'), create_pattern('system/tools'), create_pattern('system/update_engine'), create_pattern('system/vold'), create_pattern('system/Other', 'system'), create_pattern('toolchain'), create_pattern('test'), create_pattern('tools'), # match vendor/google* before vendor/ create_pattern('vendor/google', 'vendor/google.*'), create_pattern('vendor/non-google', 'vendor'), # keep out/obj and other patterns at the end. [ 'out/obj', '.*/(gen|obj[^/]*)/(include|EXECUTABLES|SHARED_LIBRARIES|' 'STATIC_LIBRARIES|NATIVE_TESTS)/.*: warning:' ], ['other', '.*'] # all other unrecognized patterns ]