1<?xml version='1.0' encoding='UTF-8'?>
2<project>
3 <actions/>
4 <description>Run static and functional tests against a CHART core source code repository</description>
5 <logRotator class="hudson.tasks.LogRotator">
6 <daysToKeep>-1</daysToKeep>
7 <numToKeep>12</numToKeep>
8 <artifactDaysToKeep>-1</artifactDaysToKeep>
9 <artifactNumToKeep>-1</artifactNumToKeep>
10 </logRotator>
11 <keepDependencies>false</keepDependencies>
12 <properties>
13 <hudson.plugins.trac.TracProjectProperty plugin="trac@1.13">
14 <tracWebsite>http://tctrac/projects/chart/</tracWebsite>
15 </hudson.plugins.trac.TracProjectProperty>
16 <hudson.model.ParametersDefinitionProperty>
17 <parameterDefinitions>
18 <hudson.model.BooleanParameterDefinition>
19 <name>BUILD</name>
20 <description>Generate various derived files (.pyo files, Sphinx documentation, rdr.py, unpack 3rdparty modules)</description>
21 <defaultValue>true</defaultValue>
22 </hudson.model.BooleanParameterDefinition>
23 <hudson.model.BooleanParameterDefinition>
24 <name>STATIC</name>
25 <description>Run static analysis tools (pylint, pep8, csslint, jslint) over Python, CSS and Javascript source files.</description>
26 <defaultValue>true</defaultValue>
27 </hudson.model.BooleanParameterDefinition>
28 <hudson.model.BooleanParameterDefinition>
29 <name>FUNCTIONAL</name>
30 <description>Run all doctests and the unit tests from the tests/functional directory</description>
31 <defaultValue>true</defaultValue>
32 </hudson.model.BooleanParameterDefinition>
33 </parameterDefinitions>
34 </hudson.model.ParametersDefinitionProperty>
35 </properties>
36 <scm class="hudson.plugins.mercurial.MercurialSCM" plugin="mercurial@1.50.1">
37 <source>/tcc1/home/elson/chart</source>
38 <modules></modules>
39 <revisionType>BRANCH</revisionType>
40 <revision>default</revision>
41 <clean>false</clean>
42 <credentialsId></credentialsId>
43 <disableChangeLog>false</disableChangeLog>
44 </scm>
45 <canRoam>true</canRoam>
46 <disabled>false</disabled>
47 <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
48 <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
49 <triggers>
50 <hudson.triggers.TimerTrigger>
51 <spec>H 0 * * *
52</spec>
53 </hudson.triggers.TimerTrigger>
54 </triggers>
55 <concurrentBuild>false</concurrentBuild>
56 <builders>
57 <hudson.tasks.Shell>
58 <command>if [ "$BUILD" = "true" ]; then
59 chart/cmd/build.sh
60fi
61</command>
62 </hudson.tasks.Shell>
63 <hudson.tasks.Shell>
64 <command>rm -f sloccount.sc
65touch sloccount.sc
66rm -f pylint.out
67touch pylint.out
68rm -f pep8.out
69touch pep8.out
70rm -f csslint.out
71touch csslint.out
72rm -f jslint.out
73touch jslint.out
74if [ "$STATIC" = "true" ]; then
75 PYTHONPATH=$PWD CHART_SETTINGS_MODULE=tests.settings dist/cloc/cloc.py dist chart
76 which pylint
77 echo pylint is `which pylint`
78 PYTHONPATH=$PWD pylint --rcfile dist/pylint/pylintrc --disable I0011 --ignore=rdr.py,dynatree_server.py chart | tee pylint.out || :
79 PYTHONPATH=$PWD pep8 --config $PWD/dist/pep8/pep8.conf --repeat chart | grep -v 3rdparty/jglobee | grep -v bootstrap-datepicker/docs/conf.py | tee pep8.out || :
80 find chart -name '*.css' -type f | grep -v 3rdparty | grep -v includes | PYTHONPATH=$PWD CHART_SETTINGS_MODULE=chart.tests.settings xargs chart/cmd/check.py | dist/csslint/toxml.py | tee csslint.out || :
81 find chart -name '*.js' -type f | grep -v 3rdparty | grep -v includes | xargs jslint --report xml | tee jslint.out || :
82fi
83</command>
84 </hudson.tasks.Shell>
85 <hudson.tasks.Shell>
86 <command>rm -f pytest.xml
87touch pytest.xml
88if [ "$FUNCTIONAL" = "true" ]; then
89 CHART_SETTINGS_MODULE=tests.settings PYTHONPATH=$PWD py.test -v --junitxml=pytest.xml chart/tests/functional/test_*.py || :
90fi
91</command>
92 </hudson.tasks.Shell>
93 </builders>
94 <publishers>
95 <hudson.tasks.junit.JUnitResultArchiver plugin="junit@1.2-beta-4">
96 <testResults>pytest.xml</testResults>
97 <keepLongStdio>false</keepLongStdio>
98 <testDataPublishers/>
99 <healthScaleFactor>1.0</healthScaleFactor>
100 </hudson.tasks.junit.JUnitResultArchiver>
101 <hudson.plugins.sloccount.SloccountPublisher plugin="sloccount@1.20">
102 <pattern>sloccount.sc</pattern>
103 <encoding></encoding>
104 <commentIsCode>false</commentIsCode>
105 <numBuildsInGraph>0</numBuildsInGraph>
106 <ignoreBuildFailure>false</ignoreBuildFailure>
107 </hudson.plugins.sloccount.SloccountPublisher>
108 <hudson.plugins.violations.ViolationsPublisher plugin="violations@0.7.11">
109 <config>
110 <suppressions class="sorted-set"/>
111 <typeConfigs>
112 <entry>
113 <string>checkstyle</string>
114 <hudson.plugins.violations.TypeConfig>
115 <type>checkstyle</type>
116 <min>100</min>
117 <max>200</max>
118 <unstable>999</unstable>
119 <usePattern>false</usePattern>
120 <pattern></pattern>
121 </hudson.plugins.violations.TypeConfig>
122 </entry>
123 <entry>
124 <string>codenarc</string>
125 <hudson.plugins.violations.TypeConfig>
126 <type>codenarc</type>
127 <min>100</min>
128 <max>200</max>
129 <unstable>999</unstable>
130 <usePattern>false</usePattern>
131 <pattern></pattern>
132 </hudson.plugins.violations.TypeConfig>
133 </entry>
134 <entry>
135 <string>cpd</string>
136 <hudson.plugins.violations.TypeConfig>
137 <type>cpd</type>
138 <min>100</min>
139 <max>200</max>
140 <unstable>999</unstable>
141 <usePattern>false</usePattern>
142 <pattern></pattern>
143 </hudson.plugins.violations.TypeConfig>
144 </entry>
145 <entry>
146 <string>cpplint</string>
147 <hudson.plugins.violations.TypeConfig>
148 <type>cpplint</type>
149 <min>100</min>
150 <max>200</max>
151 <unstable>999</unstable>
152 <usePattern>false</usePattern>
153 <pattern></pattern>
154 </hudson.plugins.violations.TypeConfig>
155 </entry>
156 <entry>
157 <string>csslint</string>
158 <hudson.plugins.violations.TypeConfig>
159 <type>csslint</type>
160 <min>100</min>
161 <max>200</max>
162 <unstable>999</unstable>
163 <usePattern>false</usePattern>
164 <pattern>csslint.out</pattern>
165 </hudson.plugins.violations.TypeConfig>
166 </entry>
167 <entry>
168 <string>findbugs</string>
169 <hudson.plugins.violations.TypeConfig>
170 <type>findbugs</type>
171 <min>100</min>
172 <max>200</max>
173 <unstable>999</unstable>
174 <usePattern>false</usePattern>
175 <pattern></pattern>
176 </hudson.plugins.violations.TypeConfig>
177 </entry>
178 <entry>
179 <string>fxcop</string>
180 <hudson.plugins.violations.TypeConfig>
181 <type>fxcop</type>
182 <min>100</min>
183 <max>200</max>
184 <unstable>999</unstable>
185 <usePattern>false</usePattern>
186 <pattern></pattern>
187 </hudson.plugins.violations.TypeConfig>
188 </entry>
189 <entry>
190 <string>gendarme</string>
191 <hudson.plugins.violations.TypeConfig>
192 <type>gendarme</type>
193 <min>100</min>
194 <max>200</max>
195 <unstable>999</unstable>
196 <usePattern>false</usePattern>
197 <pattern></pattern>
198 </hudson.plugins.violations.TypeConfig>
199 </entry>
200 <entry>
201 <string>jcreport</string>
202 <hudson.plugins.violations.TypeConfig>
203 <type>jcreport</type>
204 <min>100</min>
205 <max>200</max>
206 <unstable>999</unstable>
207 <usePattern>false</usePattern>
208 <pattern></pattern>
209 </hudson.plugins.violations.TypeConfig>
210 </entry>
211 <entry>
212 <string>jslint</string>
213 <hudson.plugins.violations.TypeConfig>
214 <type>jslint</type>
215 <min>1000</min>
216 <max>10000</max>
217 <unstable>10000</unstable>
218 <usePattern>false</usePattern>
219 <pattern>jslint.out</pattern>
220 </hudson.plugins.violations.TypeConfig>
221 </entry>
222 <entry>
223 <string>pep8</string>
224 <hudson.plugins.violations.TypeConfig>
225 <type>pep8</type>
226 <min>100</min>
227 <max>200</max>
228 <unstable>999</unstable>
229 <usePattern>false</usePattern>
230 <pattern>pep8.out</pattern>
231 </hudson.plugins.violations.TypeConfig>
232 </entry>
233 <entry>
234 <string>perlcritic</string>
235 <hudson.plugins.violations.TypeConfig>
236 <type>perlcritic</type>
237 <min>10</min>
238 <max>999</max>
239 <unstable>999</unstable>
240 <usePattern>false</usePattern>
241 <pattern></pattern>
242 </hudson.plugins.violations.TypeConfig>
243 </entry>
244 <entry>
245 <string>pmd</string>
246 <hudson.plugins.violations.TypeConfig>
247 <type>pmd</type>
248 <min>100</min>
249 <max>200</max>
250 <unstable>999</unstable>
251 <usePattern>false</usePattern>
252 <pattern></pattern>
253 </hudson.plugins.violations.TypeConfig>
254 </entry>
255 <entry>
256 <string>pylint</string>
257 <hudson.plugins.violations.TypeConfig>
258 <type>pylint</type>
259 <min>100</min>
260 <max>200</max>
261 <unstable>999</unstable>
262 <usePattern>false</usePattern>
263 <pattern>pylint.out</pattern>
264 </hudson.plugins.violations.TypeConfig>
265 </entry>
266 <entry>
267 <string>simian</string>
268 <hudson.plugins.violations.TypeConfig>
269 <type>simian</type>
270 <min>100</min>
271 <max>200</max>
272 <unstable>999</unstable>
273 <usePattern>false</usePattern>
274 <pattern></pattern>
275 </hudson.plugins.violations.TypeConfig>
276 </entry>
277 <entry>
278 <string>stylecop</string>
279 <hudson.plugins.violations.TypeConfig>
280 <type>stylecop</type>
281 <min>100</min>
282 <max>200</max>
283 <unstable>999</unstable>
284 <usePattern>false</usePattern>
285 <pattern></pattern>
286 </hudson.plugins.violations.TypeConfig>
287 </entry>
288 </typeConfigs>
289 <limit>100</limit>
290 <sourcePathPattern></sourcePathPattern>
291 <fauxProjectPath></fauxProjectPath>
292 <encoding>default</encoding>
293 </config>
294 </hudson.plugins.violations.ViolationsPublisher>
295 </publishers>
296 <buildWrappers>
297 <hudson.plugins.ansicolor.AnsiColorBuildWrapper plugin="ansicolor@0.4.1">
298 <colorMapName>xterm</colorMapName>
299 </hudson.plugins.ansicolor.AnsiColorBuildWrapper>
300 </buildWrappers>
301</project>