1. With introduction of compressed formats, e.g. ETC1, the number of
[chromium-blink-merge.git] / build / common.croc
blobfde7a8b29821839748a5c160ed512c826a5a31b6
1 # -*- python -*-
2 # Crocodile config file for Chromium - settings common to all platforms
4 # This should be speicified before the platform-specific config, for example:
5 #       croc -c chrome_common.croc -c linux/chrome_linux.croc
8   # List of root directories, applied in order
9   'roots' : [
10     # Sub-paths we specifically care about and want to call out
11     {
12       'root' : '_/src',
13       'altname' : 'CHROMIUM',
14     },
15   ],
17   # List of rules, applied in order
18   # Note that any 'include':0 rules here will be overridden by the 'include':1
19   # rules in the platform-specific configs.
20   'rules' : [
21     # Don't scan for executable lines in uninstrumented C++ header files
22     {
23       'regexp' : '.*\\.(h|hpp)$',
24       'add_if_missing' : 0,
25     },
27     # Groups
28     {
29       'regexp' : '',
30       'group' : 'source',
31     },
32     {
33       'regexp' : '.*_(test|unittest|uitest|browsertest)\\.',
34       'group' : 'test',
35     },
37     # Languages
38     {
39       'regexp' : '.*\\.(c|h)$',
40       'language' : 'C',
41     },
42     {
43       'regexp' : '.*\\.(cc|cpp|hpp)$',
44       'language' : 'C++',
45     },
47     # Files/paths to include.  Specify these before the excludes, since rules
48     # are in order.
49     {
50       'regexp' : '^CHROMIUM/(base|media|net|printing|remoting|chrome|content|webkit/glue|native_client)/',
51       'include' : 1,
52     },
53     # Don't include subversion or mercurial SCM dirs
54     {
55       'regexp' : '.*/(\\.svn|\\.hg)/',
56       'include' : 0,
57     },
58     # Don't include output dirs
59     {
60       'regexp' : '.*/(Debug|Release|out|xcodebuild)/',
61       'include' : 0,
62     },
63     # Don't include third-party source
64     {
65       'regexp' : '.*/third_party/',
66       'include' : 0,
67     },
68     # We don't run the V8 test suite, so we don't care about V8 coverage.
69     {
70       'regexp' : '.*/v8/',
71       'include' : 0,
72     },
73   ],
75   # Paths to add source from
76   'add_files' : [
77     'CHROMIUM'
78   ],
80   # Statistics to print
81   'print_stats' : [
82     {
83       'stat' : 'files_executable',
84       'format' : '*RESULT FilesKnown: files_executable= %d files',
85     },
86     {
87       'stat' : 'files_instrumented',
88       'format' : '*RESULT FilesInstrumented: files_instrumented= %d files',
89     },
90     {
91       'stat' : '100.0 * files_instrumented / files_executable',
92       'format' : '*RESULT FilesInstrumentedPercent: files_instrumented_percent= %g percent',
93     },
94     {
95       'stat' : 'lines_executable',
96       'format' : '*RESULT LinesKnown: lines_known= %d lines',
97     },
98     {
99       'stat' : 'lines_instrumented',
100       'format' : '*RESULT LinesInstrumented: lines_instrumented= %d lines',
101     },
102     {
103       'stat' : 'lines_covered',
104       'format' : '*RESULT LinesCoveredSource: lines_covered_source= %d lines',
105       'group' : 'source',
106     },
107     {
108       'stat' : 'lines_covered',
109       'format' : '*RESULT LinesCoveredTest: lines_covered_test= %d lines',
110       'group' : 'test',
111     },
112     {
113       'stat' : '100.0 * lines_covered / lines_executable',
114       'format' : '*RESULT PercentCovered: percent_covered= %g percent',
115     },
116     {
117       'stat' : '100.0 * lines_covered / lines_executable',
118       'format' : '*RESULT PercentCoveredSource: percent_covered_source= %g percent',
119       'group' : 'source',
120     },
121     {
122       'stat' : '100.0 * lines_covered / lines_executable',
123       'format' : '*RESULT PercentCoveredTest: percent_covered_test= %g percent',
124       'group' : 'test',
125     },
126   ],