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 [ &quot;$BUILD&quot; = &quot;true&quot; ]; 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 [ &quot;$STATIC&quot; = &quot;true&quot; ]; 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 &apos;*.css&apos; -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 &apos;*.js&apos; -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 [ &quot;$FUNCTIONAL&quot; = &quot;true&quot; ]; 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>