blob: 1e9e276f2f6a4fc6e63f2937c5d8c542ffc88335 [file] [log] [blame]
Chih-Hung Hsieh888d1432019-12-09 19:32:03 -08001#
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 project_name_and_pattern(name, pattern):
20 return [name, '(^|.*/)' + pattern + '/.*: warning:']
21
22
23def simple_project_pattern(pattern):
24 return project_name_and_pattern(pattern, pattern)
25
26
27# A list of [project_name, file_path_pattern].
28# project_name should not contain comma, to be used in CSV output.
29project_list = [
30 simple_project_pattern('art'),
31 simple_project_pattern('bionic'),
32 simple_project_pattern('bootable'),
33 simple_project_pattern('build'),
34 simple_project_pattern('cts'),
35 simple_project_pattern('dalvik'),
36 simple_project_pattern('developers'),
37 simple_project_pattern('development'),
38 simple_project_pattern('device'),
39 simple_project_pattern('doc'),
40 # match external/google* before external/
41 project_name_and_pattern('external/google', 'external/google.*'),
42 project_name_and_pattern('external/non-google', 'external'),
43 simple_project_pattern('frameworks/av/camera'),
44 simple_project_pattern('frameworks/av/cmds'),
45 simple_project_pattern('frameworks/av/drm'),
46 simple_project_pattern('frameworks/av/include'),
47 simple_project_pattern('frameworks/av/media/img_utils'),
48 simple_project_pattern('frameworks/av/media/libcpustats'),
49 simple_project_pattern('frameworks/av/media/libeffects'),
50 simple_project_pattern('frameworks/av/media/libmediaplayerservice'),
51 simple_project_pattern('frameworks/av/media/libmedia'),
52 simple_project_pattern('frameworks/av/media/libstagefright'),
53 simple_project_pattern('frameworks/av/media/mtp'),
54 simple_project_pattern('frameworks/av/media/ndk'),
55 simple_project_pattern('frameworks/av/media/utils'),
56 project_name_and_pattern('frameworks/av/media/Other',
57 'frameworks/av/media'),
58 simple_project_pattern('frameworks/av/radio'),
59 simple_project_pattern('frameworks/av/services'),
60 simple_project_pattern('frameworks/av/soundtrigger'),
61 project_name_and_pattern('frameworks/av/Other', 'frameworks/av'),
62 simple_project_pattern('frameworks/base/cmds'),
63 simple_project_pattern('frameworks/base/core'),
64 simple_project_pattern('frameworks/base/drm'),
65 simple_project_pattern('frameworks/base/media'),
66 simple_project_pattern('frameworks/base/libs'),
67 simple_project_pattern('frameworks/base/native'),
68 simple_project_pattern('frameworks/base/packages'),
69 simple_project_pattern('frameworks/base/rs'),
70 simple_project_pattern('frameworks/base/services'),
71 simple_project_pattern('frameworks/base/tests'),
72 simple_project_pattern('frameworks/base/tools'),
73 project_name_and_pattern('frameworks/base/Other', 'frameworks/base'),
74 simple_project_pattern('frameworks/compile/libbcc'),
75 simple_project_pattern('frameworks/compile/mclinker'),
76 simple_project_pattern('frameworks/compile/slang'),
77 project_name_and_pattern('frameworks/compile/Other', 'frameworks/compile'),
78 simple_project_pattern('frameworks/minikin'),
79 simple_project_pattern('frameworks/ml'),
80 simple_project_pattern('frameworks/native/cmds'),
81 simple_project_pattern('frameworks/native/include'),
82 simple_project_pattern('frameworks/native/libs'),
83 simple_project_pattern('frameworks/native/opengl'),
84 simple_project_pattern('frameworks/native/services'),
85 simple_project_pattern('frameworks/native/vulkan'),
86 project_name_and_pattern('frameworks/native/Other', 'frameworks/native'),
87 simple_project_pattern('frameworks/opt'),
88 simple_project_pattern('frameworks/rs'),
89 simple_project_pattern('frameworks/webview'),
90 simple_project_pattern('frameworks/wilhelm'),
91 project_name_and_pattern('frameworks/Other', 'frameworks'),
92 simple_project_pattern('hardware/akm'),
93 simple_project_pattern('hardware/broadcom'),
94 simple_project_pattern('hardware/google'),
95 simple_project_pattern('hardware/intel'),
96 simple_project_pattern('hardware/interfaces'),
97 simple_project_pattern('hardware/libhardware'),
98 simple_project_pattern('hardware/libhardware_legacy'),
99 simple_project_pattern('hardware/qcom'),
100 simple_project_pattern('hardware/ril'),
101 project_name_and_pattern('hardware/Other', 'hardware'),
102 simple_project_pattern('kernel'),
103 simple_project_pattern('libcore'),
104 simple_project_pattern('libnativehelper'),
105 simple_project_pattern('ndk'),
106 # match vendor/unbungled_google/packages before other packages
107 simple_project_pattern('unbundled_google'),
108 simple_project_pattern('packages'),
109 simple_project_pattern('pdk'),
110 simple_project_pattern('prebuilts'),
111 simple_project_pattern('system/bt'),
112 simple_project_pattern('system/connectivity'),
113 simple_project_pattern('system/core/adb'),
114 simple_project_pattern('system/core/base'),
115 simple_project_pattern('system/core/debuggerd'),
116 simple_project_pattern('system/core/fastboot'),
117 simple_project_pattern('system/core/fingerprintd'),
118 simple_project_pattern('system/core/fs_mgr'),
119 simple_project_pattern('system/core/gatekeeperd'),
120 simple_project_pattern('system/core/healthd'),
121 simple_project_pattern('system/core/include'),
122 simple_project_pattern('system/core/init'),
123 simple_project_pattern('system/core/libbacktrace'),
124 simple_project_pattern('system/core/liblog'),
125 simple_project_pattern('system/core/libpixelflinger'),
126 simple_project_pattern('system/core/libprocessgroup'),
127 simple_project_pattern('system/core/libsysutils'),
128 simple_project_pattern('system/core/logcat'),
129 simple_project_pattern('system/core/logd'),
130 simple_project_pattern('system/core/run-as'),
131 simple_project_pattern('system/core/sdcard'),
132 simple_project_pattern('system/core/toolbox'),
133 project_name_and_pattern('system/core/Other', 'system/core'),
134 simple_project_pattern('system/extras/ANRdaemon'),
135 simple_project_pattern('system/extras/cpustats'),
136 simple_project_pattern('system/extras/crypto-perf'),
137 simple_project_pattern('system/extras/ext4_utils'),
138 simple_project_pattern('system/extras/f2fs_utils'),
139 simple_project_pattern('system/extras/iotop'),
140 simple_project_pattern('system/extras/libfec'),
141 simple_project_pattern('system/extras/memory_replay'),
142 simple_project_pattern('system/extras/mmap-perf'),
143 simple_project_pattern('system/extras/multinetwork'),
144 simple_project_pattern('system/extras/procrank'),
145 simple_project_pattern('system/extras/runconuid'),
146 simple_project_pattern('system/extras/showmap'),
147 simple_project_pattern('system/extras/simpleperf'),
148 simple_project_pattern('system/extras/su'),
149 simple_project_pattern('system/extras/tests'),
150 simple_project_pattern('system/extras/verity'),
151 project_name_and_pattern('system/extras/Other', 'system/extras'),
152 simple_project_pattern('system/gatekeeper'),
153 simple_project_pattern('system/keymaster'),
154 simple_project_pattern('system/libhidl'),
155 simple_project_pattern('system/libhwbinder'),
156 simple_project_pattern('system/media'),
157 simple_project_pattern('system/netd'),
158 simple_project_pattern('system/nvram'),
159 simple_project_pattern('system/security'),
160 simple_project_pattern('system/sepolicy'),
161 simple_project_pattern('system/tools'),
162 simple_project_pattern('system/update_engine'),
163 simple_project_pattern('system/vold'),
164 project_name_and_pattern('system/Other', 'system'),
165 simple_project_pattern('toolchain'),
166 simple_project_pattern('test'),
167 simple_project_pattern('tools'),
168 # match vendor/google* before vendor/
169 project_name_and_pattern('vendor/google', 'vendor/google.*'),
170 project_name_and_pattern('vendor/non-google', 'vendor'),
171 # keep out/obj and other patterns at the end.
172 ['out/obj',
173 '.*/(gen|obj[^/]*)/(include|EXECUTABLES|SHARED_LIBRARIES|'
174 'STATIC_LIBRARIES|NATIVE_TESTS)/.*: warning:'],
175 ['other', '.*'] # all other unrecognized patterns
176]