• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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