build.xml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project name="dolibarr" default="hudson" basedir=".">
  3. fdfds
  4. <!-- Exclude/ignore paths -->
  5. <property name="ignorepaths" value="${basedir}/htdocs/conf,${basedir}/htdocs/core/filemanagerdol,${basedir}/htdocs/includes" />
  6. <property name="ignoreregexp" value="**/PEAR/*,**/NET/*,**/HTTP/*,**/zendgdata/*,**/reportico/*" />
  7. <target name="clean">
  8. <!-- Clean up -->
  9. <delete dir="${basedir}/hudson"/>
  10. <delete dir="${basedir}/generatedJUnitFiles"/>
  11. <!-- Create build directories -->
  12. <mkdir dir="${basedir}/hudson/doxygen"/>
  13. <mkdir dir="${basedir}/hudson/logs"/>
  14. <mkdir dir="${basedir}/hudson/coverage"/>
  15. </target>
  16. <!-- Run phpmd, phpcpd, phpcs, doxygen and phploc in parallel -->
  17. <target name="parallelTasks">
  18. <parallel>
  19. <!-- <antcall target="phpmd"/> -->
  20. <antcall target="phpcpd"/>
  21. <!-- <antcall target="phpcs"/> -->
  22. <antcall target="doxygen"/>
  23. <antcall target="phploc"/>
  24. </parallel>
  25. </target>
  26. <!-- Generate pmd.xml -->
  27. <!--
  28. <target name="phpmd">
  29. <exec executable="phpmd">
  30. <arg line="htdocs xml codesize,unusedcode
  31. -\-reportfile '${basedir}/hudson/logs/pmd.xml'
  32. -\-ignore=${ignorepaths}
  33. " />
  34. </exec>
  35. </target>
  36. -->
  37. <!-- Generate pmd-cpd.xml -->
  38. <target name="phpcpd">
  39. <exec executable="phpcpd">
  40. <arg line=" --log-pmd '${basedir}/hudson/logs/pmd-cpd.xml'
  41. --exclude '${basedir}/htdocs/conf'
  42. --exclude '${basedir}/htdocs/core/filemanagerdol'
  43. --exclude '${basedir}/htdocs/includes'
  44. --exclude '**/PEAR/*,**/NET/*,**/HTTP/*,**/zendgdata/*,**/reportico/*'
  45. --min-tokens 70
  46. --min-lines 20
  47. htdocs
  48. " />
  49. </exec>
  50. </target>
  51. <!-- Generate phploc.csv -->
  52. <target name="phploc">
  53. <exec executable="phploc">
  54. <arg line=" --log-csv '${basedir}/hudson/logs/phploc.csv'
  55. --exclude '${basedir}/htdocs/conf'
  56. --exclude '${basedir}/htdocs/core/filemanagerdol'
  57. --exclude '${basedir}/htdocs/includes'
  58. --exclude '**/PEAR/*,**/NET/*,**/HTTP/*,**/zendgdata/*,**/reportico/*'
  59. htdocs
  60. " />
  61. </exec>
  62. </target>
  63. <!-- Generate checkstyle.xml -->
  64. <target name="phpcs">
  65. <exec executable="phpcs" dir="${basedir}">
  66. <arg line=" --standard=${basedir}/dev/codesniffer/jenkins_ruleset.xml
  67. --report=checkstyle
  68. --report-file=${basedir}/hudson/logs/checkstyle.xml
  69. --ignore=${ignorepaths},${ignoreregexp}
  70. htdocs
  71. "/>
  72. </exec>
  73. </target>
  74. <!-- Run unit tests and generate junit.xml and clover.xml -->
  75. <target name="phpunit">
  76. <exec executable="phpunit" dir="${basedir}" failonerror="true">
  77. <arg line=" --configuration ${basedir}/test/phpunit/phpunittest.xml
  78. --log-junit ${basedir}/hudson/logs/junit.xml
  79. --coverage-clover ${basedir}/hudson/coverage/clover.xml
  80. --coverage-html ${basedir}/hudson/coverage/
  81. test/phpunit/AllTests.php
  82. "/>
  83. </exec>
  84. </target>
  85. <!-- Generate Doxygen documentation -->
  86. <target name="doxygen" description="Dolibarr documentation" >
  87. <exec executable="doxygen" dir="${basedir}" failonerror="false">
  88. <arg value="${basedir}/build/doxygen/jenkins_doxygen.doxyfile"/>
  89. </exec>
  90. </target>
  91. <target name="hudson" depends="clean,phpunit,phpcs,parallelTasks"/>
  92. </project>