build.xml 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project name="Dolphin" basedir="." default="test">
  3. <property file="${project.basedir}/build.properties" override="true" />
  4. <property name="build" value="0" override="yes" />
  5. <property name="modules" value="" override="yes" />
  6. <if>
  7. <not><isset property="composer" /></not>
  8. <then><property name="composer" value="${project.basedir}/tests/composer.phar" override="yes" /></then>
  9. </if>
  10. <if>
  11. <not><isset property="php" /></not>
  12. <then><property name="php" value="php" override="yes" /></then>
  13. </if>
  14. <if>
  15. <not><isset property="db_name" /></not>
  16. <then><property name="db_name" value="test" override="yes" /></then>
  17. </if>
  18. <if>
  19. <not><isset property="db_user" /></not>
  20. <then><property name="db_user" value="root" override="yes" /></then>
  21. </if>
  22. <if>
  23. <not><isset property="db_password" /></not>
  24. <then><property name="db_password" value="" override="yes" /></then>
  25. </if>
  26. <if>
  27. <not><isset property="http_host" /></not>
  28. <then><property name="http_host" value="localhost" override="yes" /></then>
  29. </if>
  30. <if>
  31. <not><isset property="http_path" /></not>
  32. <then><property name="http_path" value="/" override="yes" /></then>
  33. </if>
  34. <if>
  35. <not><isset property="php_self" /></not>
  36. <then><property name="php_self" value="${http_path}install/index.php" override="yes" /></then>
  37. </if>
  38. <if>
  39. <and>
  40. <not><isset property="doc_root" /></not>
  41. <isset property="deploy_path" />
  42. </and>
  43. <then><property name="doc_root" value="${deploy_path}" override="yes" /></then>
  44. </if>
  45. <fileset dir="${project.basedir}" defaultexcludes="true" id="files_dist">
  46. <include name="**/*" />
  47. <exclude name="**/*.swp" />
  48. <exclude name="inc/header*" />
  49. <exclude name="build.xml" />
  50. <exclude name="build.properties" />
  51. <exclude name="storage/**/*" />
  52. <exclude name="logs/**" />
  53. <exclude name="samples/**" />
  54. <exclude name="scripts/**" />
  55. <exclude name="tests/**" />
  56. <exclude name="packages/**" />
  57. <exclude name="upgrade/**" />
  58. </fileset>
  59. <!-- ============================================ -->
  60. <!-- Target: prepare -->
  61. <!-- ============================================ -->
  62. <target name="prepare">
  63. <echo msg="Prepage: installing necessary components" />
  64. <exec command="${php} ${composer} install" dir="${project.basedir}/tests" checkreturn="true" />
  65. </target>
  66. <!-- ============================================ -->
  67. <!-- Target: install -->
  68. <!-- ============================================ -->
  69. <target name="install">
  70. <echo msg="Installing..." />
  71. <if>
  72. <not><isset property="install_base_dir" /></not>
  73. <then><property name="install_base_dir" value="${project.basedir}" /></then>
  74. </if>
  75. <exec command="${php} cmd.php -m ${modules} --db_name=${db_name} --db_user=${db_user} --db_password=${db_password} --server_http_host=${http_host} --server_php_self=${php_self} --server_doc_root=${doc_root}" dir="${install_base_dir}/install" checkreturn="true" />
  76. </target>
  77. <!-- ============================================ -->
  78. <!-- (DEFAULT) Target: test -->
  79. <!-- ============================================ -->
  80. <target name="test">
  81. <echo msg="Testing..." />
  82. <exec command="${php} vendor/bin/phpunit" dir="${project.basedir}/tests" checkreturn="true" />
  83. </target>
  84. <!-- ============================================ -->
  85. <!-- Target: package -->
  86. <!-- ============================================ -->
  87. <target name="package" depends="clean">
  88. <tstamp />
  89. <property name="package_file" value="Dolphin-${DSTAMP}-${build}.zip" override="yes" />
  90. <echo msg="Packaging ${package_file} file..." />
  91. <mkdir dir="${project.basedir}/packages" />
  92. <delete file="${project.basedir}/packages/${package_file}" quiet="true" />
  93. <zip destfile="${project.basedir}/packages/${package_file}">
  94. <fileset refid="files_dist" />
  95. </zip>
  96. </target>
  97. <!-- ============================================ -->
  98. <!-- Target: deploy -->
  99. <!-- ============================================ -->
  100. <target name="deploy">
  101. <property name="deploy_path" value="/var/www" override="yes" />
  102. <echo msg="Deploying to '${deploy_path}' folder..." />
  103. <delete failonerror="true">
  104. <fileset dir="${deploy_path}">
  105. <include name="**/*" />
  106. </fileset>
  107. </delete>
  108. <copy todir="${deploy_path}">
  109. <fileset refid="files_dist" />
  110. </copy>
  111. <chmod file="${deploy_path}/cache" mode="0777" />
  112. <chmod file="${deploy_path}/cache_public" mode="0777" />
  113. <chmod file="${deploy_path}/logs" mode="0777" />
  114. <chmod file="${deploy_path}/tmp" mode="0777" />
  115. <chmod file="${deploy_path}/storage" mode="0777" />
  116. <phingcall target="install">
  117. <property name="install_base_dir" value="${deploy_path}" />
  118. </phingcall>
  119. <delete dir="${deploy_path}/install" failonerror="true" />
  120. </target>
  121. <!-- ============================================ -->
  122. <!-- Target: clean -->
  123. <!-- ============================================ -->
  124. <target name="clean">
  125. <echo msg="Cleaning..." />
  126. <delete dir="${project.basedir}/tests/vendor" quiet="true" />
  127. <delete includeemptydirs="true">
  128. <fileset dir="${project.basedir}/cache">
  129. <include name="**/*" />
  130. <exclude name=".htaccess" />
  131. </fileset>
  132. </delete>
  133. <delete includeemptydirs="true">
  134. <fileset dir="${project.basedir}/cache_public">
  135. <include name="**/*" />
  136. <exclude name=".htaccess" />
  137. </fileset>
  138. </delete>
  139. <delete includeemptydirs="true">
  140. <fileset dir="${project.basedir}/logs">
  141. <include name="**/*" />
  142. <exclude name=".htaccess" />
  143. </fileset>
  144. </delete>
  145. <delete includeemptydirs="true">
  146. <fileset dir="${project.basedir}/tmp">
  147. <include name="**/*" />
  148. <exclude name=".htaccess" />
  149. </fileset>
  150. </delete>
  151. </target>
  152. <target name="clean_install" depends="clean">
  153. <echo msg="Install cleaning..." />
  154. <delete file="${project.basedir}/inc/header.inc.php" quiet="true" />
  155. </target>
  156. </project>