1# python3 2# Copyright (C) 2019 The Android Open Source Project 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15 16"""Define a project list to sort warnings by project directory path.""" 17 18 19def create_pattern(name, pattern=None): 20 if pattern is not None: 21 return [name, '(^|.*/)' + pattern + '/.*: warning:'] 22 return [name, '(^|.*/)' + name + '/.*: warning:'] 23 24 25# A list of [project_name, file_path_pattern]. 26# project_name should not contain comma, to be used in CSV output. 27project_list = [ 28 create_pattern('art'), 29 create_pattern('bionic'), 30 create_pattern('bootable'), 31 create_pattern('build'), 32 create_pattern('cts'), 33 create_pattern('dalvik'), 34 create_pattern('developers'), 35 create_pattern('development'), 36 create_pattern('device'), 37 create_pattern('doc'), 38 # match external/google* before external/ 39 create_pattern('external/google', 'external/google.*'), 40 create_pattern('external/non-google', 'external'), 41 create_pattern('frameworks/av/camera'), 42 create_pattern('frameworks/av/cmds'), 43 create_pattern('frameworks/av/drm'), 44 create_pattern('frameworks/av/include'), 45 create_pattern('frameworks/av/media/img_utils'), 46 create_pattern('frameworks/av/media/libcpustats'), 47 create_pattern('frameworks/av/media/libeffects'), 48 create_pattern('frameworks/av/media/libmediaplayerservice'), 49 create_pattern('frameworks/av/media/libmedia'), 50 create_pattern('frameworks/av/media/libstagefright'), 51 create_pattern('frameworks/av/media/mtp'), 52 create_pattern('frameworks/av/media/ndk'), 53 create_pattern('frameworks/av/media/utils'), 54 create_pattern('frameworks/av/media/Other', 'frameworks/av/media'), 55 create_pattern('frameworks/av/radio'), 56 create_pattern('frameworks/av/services'), 57 create_pattern('frameworks/av/soundtrigger'), 58 create_pattern('frameworks/av/Other', 'frameworks/av'), 59 create_pattern('frameworks/base/cmds'), 60 create_pattern('frameworks/base/core'), 61 create_pattern('frameworks/base/drm'), 62 create_pattern('frameworks/base/media'), 63 create_pattern('frameworks/base/libs'), 64 create_pattern('frameworks/base/native'), 65 create_pattern('frameworks/base/packages'), 66 create_pattern('frameworks/base/rs'), 67 create_pattern('frameworks/base/services'), 68 create_pattern('frameworks/base/tests'), 69 create_pattern('frameworks/base/tools'), 70 create_pattern('frameworks/base/Other', 'frameworks/base'), 71 create_pattern('frameworks/compile/libbcc'), 72 create_pattern('frameworks/compile/mclinker'), 73 create_pattern('frameworks/compile/slang'), 74 create_pattern('frameworks/compile/Other', 'frameworks/compile'), 75 create_pattern('frameworks/minikin'), 76 create_pattern('frameworks/ml'), 77 create_pattern('frameworks/native/cmds'), 78 create_pattern('frameworks/native/include'), 79 create_pattern('frameworks/native/libs'), 80 create_pattern('frameworks/native/opengl'), 81 create_pattern('frameworks/native/services'), 82 create_pattern('frameworks/native/vulkan'), 83 create_pattern('frameworks/native/Other', 'frameworks/native'), 84 create_pattern('frameworks/opt'), 85 create_pattern('frameworks/rs'), 86 create_pattern('frameworks/webview'), 87 create_pattern('frameworks/wilhelm'), 88 create_pattern('frameworks/Other', 'frameworks'), 89 create_pattern('hardware/akm'), 90 create_pattern('hardware/broadcom'), 91 create_pattern('hardware/google'), 92 create_pattern('hardware/intel'), 93 create_pattern('hardware/interfaces'), 94 create_pattern('hardware/libhardware'), 95 create_pattern('hardware/libhardware_legacy'), 96 create_pattern('hardware/qcom'), 97 create_pattern('hardware/ril'), 98 create_pattern('hardware/Other', 'hardware'), 99 create_pattern('kernel'), 100 create_pattern('libcore'), 101 create_pattern('libnativehelper'), 102 create_pattern('ndk'), 103 # match vendor/unbungled_google/packages before other packages 104 create_pattern('unbundled_google'), 105 create_pattern('packages/providers/MediaProvider'), 106 create_pattern('packages'), 107 create_pattern('pdk'), 108 create_pattern('prebuilts'), 109 create_pattern('system/bt'), 110 create_pattern('system/connectivity'), 111 create_pattern('system/core/adb'), 112 create_pattern('system/core/base'), 113 create_pattern('system/core/debuggerd'), 114 create_pattern('system/core/fastboot'), 115 create_pattern('system/core/fingerprintd'), 116 create_pattern('system/core/fs_mgr'), 117 create_pattern('system/core/gatekeeperd'), 118 create_pattern('system/core/healthd'), 119 create_pattern('system/core/include'), 120 create_pattern('system/core/init'), 121 create_pattern('system/core/libbacktrace'), 122 create_pattern('system/core/liblog'), 123 create_pattern('system/core/libpixelflinger'), 124 create_pattern('system/core/libprocessgroup'), 125 create_pattern('system/core/libsysutils'), 126 create_pattern('system/core/logcat'), 127 create_pattern('system/core/logd'), 128 create_pattern('system/core/run-as'), 129 create_pattern('system/core/sdcard'), 130 create_pattern('system/core/toolbox'), 131 create_pattern('system/core/Other', 'system/core'), 132 create_pattern('system/extras/ANRdaemon'), 133 create_pattern('system/extras/cpustats'), 134 create_pattern('system/extras/crypto-perf'), 135 create_pattern('system/extras/ext4_utils'), 136 create_pattern('system/extras/f2fs_utils'), 137 create_pattern('system/extras/iotop'), 138 create_pattern('system/extras/libfec'), 139 create_pattern('system/extras/memory_replay'), 140 create_pattern('system/extras/mmap-perf'), 141 create_pattern('system/extras/multinetwork'), 142 create_pattern('system/extras/perfprofd'), 143 create_pattern('system/extras/procrank'), 144 create_pattern('system/extras/runconuid'), 145 create_pattern('system/extras/showmap'), 146 create_pattern('system/extras/simpleperf'), 147 create_pattern('system/extras/su'), 148 create_pattern('system/extras/tests'), 149 create_pattern('system/extras/verity'), 150 create_pattern('system/extras/Other', 'system/extras'), 151 create_pattern('system/gatekeeper'), 152 create_pattern('system/keymaster'), 153 create_pattern('system/libhidl'), 154 create_pattern('system/libhwbinder'), 155 create_pattern('system/media'), 156 create_pattern('system/netd'), 157 create_pattern('system/nvram'), 158 create_pattern('system/security'), 159 create_pattern('system/sepolicy'), 160 create_pattern('system/tools'), 161 create_pattern('system/update_engine'), 162 create_pattern('system/vold'), 163 create_pattern('system/Other', 'system'), 164 create_pattern('toolchain'), 165 create_pattern('test'), 166 create_pattern('tools'), 167 # match vendor/google* before vendor/ 168 create_pattern('vendor/google', 'vendor/google.*'), 169 create_pattern('vendor/non-google', 'vendor'), 170 # keep out/obj and other patterns at the end. 171 [ 172 'out/obj', '.*/(gen|obj[^/]*)/(include|EXECUTABLES|SHARED_LIBRARIES|' 173 'STATIC_LIBRARIES|NATIVE_TESTS)/.*: warning:' 174 ], 175 ['other', '.*'] # all other unrecognized patterns 176] 177