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