build_common.xml 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project>
  3. <path id="project.classpath">
  4. <pathelement location="${src.dir}/main/java" />
  5. <pathelement location="${src.dir}/main/resources" />
  6. <fileset dir="${lib.dir}">
  7. <include name="**/*.jar" />
  8. </fileset>
  9. <fileset dir="${store.dir}/jars">
  10. <include name="*.jar" />
  11. <exclude name="${project}.jar" />
  12. </fileset>
  13. </path>
  14. <taskdef name="openjpac" classname="org.apache.openjpa.ant.PCEnhancerTask">
  15. <classpath refid="project.classpath" />
  16. </taskdef>
  17. <taskdef name="if-contrib" classname="net.sf.antcontrib.logic.IfTask">
  18. <classpath refid="project.classpath" />
  19. </taskdef>
  20. <taskdef name="for-contrib" classname="net.sf.antcontrib.logic.ForTask">
  21. <classpath refid="project.classpath" />
  22. </taskdef>
  23. <taskdef name="var-contrib" classname="net.sf.antcontrib.property.Variable">
  24. <classpath refid="project.classpath" />
  25. </taskdef>
  26. <target name="clean">
  27. <mkdir dir="${build.dir}" />
  28. <delete includeemptydirs="true">
  29. <fileset dir="${build.dir}" includes="**/*" />
  30. </delete>
  31. </target>
  32. <target name="metamodel">
  33. <delete>
  34. <fileset dir="${src.dir}/main/java" includes="**/entity/**/*_.java" />
  35. </delete>
  36. <javac srcdir="${src.dir}/main/java" destdir="${src.dir}/main/java" includes="**/entity/**,**/entity" debug="true" debuglevel="source,lines,vars" encoding="utf-8" includeantruntime="true" target="1.8" source="1.8" fork="false">
  37. <classpath>
  38. <fileset dir="${lib.dir}">
  39. <include name="**/*.jar" />
  40. </fileset>
  41. <fileset dir="${store.dir}/jars">
  42. <include name="*.jar" />
  43. <exclude name="${project}.jar" />
  44. </fileset>
  45. </classpath>
  46. <compilerarg value="-Aopenjpa.metamodel=true" />
  47. <compilerarg value="-Aopenjpa.log=TRACE" />
  48. </javac>
  49. <delete>
  50. <fileset dir="${src.dir}/main/java" includes="**/*.class" />
  51. </delete>
  52. </target>
  53. <target name="compile">
  54. <mkdir dir="${build.dir}/classes" />
  55. <javac destdir="${build.dir}/classes" debug="true" debuglevel="source,lines,vars" encoding="UTF-8" includeantruntime="true" target="1.8" source="1.8" fork="false">
  56. <src path="${src.dir}/main/java" />
  57. <src path="${src.dir}/main/resources" />
  58. <classpath refid="project.classpath" />
  59. </javac>
  60. </target>
  61. <target name="createEnhancePersistenceXml">
  62. <mkdir dir="${src.dir}/main/resources/META-INF" />
  63. <java classname="com.x.base.core.entity.tools.EnhancePersistenceXmlWriter" fork="true">
  64. <classpath>
  65. <pathelement path="${build.dir}/classes" />
  66. <pathelement path="${src.dir}/main/java" />
  67. <pathelement path="${src.dir}/main/resources" />
  68. <fileset dir="${lib.dir}">
  69. <include name="apache/openjpa/*.jar" />
  70. <include name="apache/commons/lang3/*.jar" />
  71. <include name="apache/commons/vfs/*.jar" />
  72. <include name="apache/commons/collections4/*.jar" />
  73. <include name="javax/*.jar" />
  74. <include name="java/*.jar" />
  75. <include name="google/gson/*.jar" />
  76. <include name="github/fast-classpath-scanner/*.jar" />
  77. <include name="sourceforge/dom4j/*.jar" />
  78. <include name="ical4j/*.jar" />
  79. </fileset>
  80. <fileset dir="${store.dir}/jars">
  81. <include name="x_base_core_project.jar" />
  82. <exclude name="${project}.jar" />
  83. </fileset>
  84. </classpath>
  85. <arg value="{
  86. path:'${src.dir}/main/resources/META-INF/persistence.xml'
  87. }" />
  88. </java>
  89. </target>
  90. <target name="enhance">
  91. <openjpac>
  92. <classpath>
  93. <pathelement location="${src.dir}/main/java" />
  94. <pathelement location="${src.dir}/main/resources" />
  95. <pathelement location="${build.dir}/classes" />
  96. <fileset dir="${lib.dir}">
  97. <include name="apache/openjpa/*.jar" />
  98. <include name="apache/commons/vfs/*.jar" />
  99. <include name="apache/commons/lang3/*.jar" />
  100. <include name="google/gson/*.jar" />
  101. <include name="github/fast-classpath-scanner/*.jar" />
  102. <include name="sourceforge/dom4j/*.jar" />
  103. <include name="ical4j/*.jar" />
  104. </fileset>
  105. <fileset dir="${store.dir}/jars">
  106. <include name="*.jar" />
  107. <exclude name="${project}.jar" />
  108. </fileset>
  109. </classpath>
  110. </openjpac>
  111. <echo message="Enhancing complete." />
  112. </target>
  113. <target name="jar">
  114. <mkdir dir="${store.dir}/jars" />
  115. <jar destfile="${store.dir}/jars/${project}.jar" basedir="${build.dir}/classes" />
  116. </target>
  117. <target name="createPersistenceXml">
  118. <java classname="com.x.base.core.entity.tools.PersistenceXmlWriter" fork="false">
  119. <classpath>
  120. <pathelement location="${build.dir}/classes" />
  121. <pathelement location="${src.dir}/main/resources" />
  122. <fileset dir="${lib.dir}">
  123. <include name="apache/openjpa/*.jar" />
  124. <include name="apache/commons/vfs/*.jar" />
  125. <include name="apache/commons/io/*.jar" />
  126. <include name="apache/commons/lang3/*.jar" />
  127. <include name="apache/commons/collections4/*.jar" />
  128. <include name="google/gson/*.jar" />
  129. <include name="javax/*.jar" />
  130. <include name="github/fast-classpath-scanner/*.jar" />
  131. <include name="sourceforge/dom4j/*.jar" />
  132. <include name="ical4j/*.jar" />
  133. </fileset>
  134. <fileset dir="${store.dir}/jars">
  135. <include name="*.jar" />
  136. <exclude name="${project}.jar" />
  137. </fileset>
  138. </classpath>
  139. <arg value="{
  140. project:'${project}',
  141. path:'${src.dir}/main/resources/META-INF/persistence.xml'
  142. }" />
  143. </java>
  144. </target>
  145. <target name="war">
  146. <mkdir dir="${build.dir}/WEB-INF/classes/META-INF" />
  147. <move todir="${build.dir}/WEB-INF/classes">
  148. <fileset dir="${build.dir}/classes" />
  149. </move>
  150. <copy file="${src.dir}/main/resources/META-INF/persistence.xml" tofile="${build.dir}/WEB-INF/classes/META-INF/x_persistence.xml" />
  151. <echoxml file="${build.dir}/WEB-INF/web.xml">
  152. <web-app id="${project}" metadata-complete="false" version="3.0">
  153. <display-name>${project}</display-name>
  154. </web-app>
  155. </echoxml>
  156. <war destfile="${store.dir}/${project}.war" update="false" basedir="${build.dir}">
  157. <zipfileset dir="${basedir}/jest" prefix="jest" />
  158. <zipfileset dir="${basedir}/describe" prefix="describe" />
  159. </war>
  160. </target>
  161. <target name="describe">
  162. <mkdir dir="${describe.dir}" />
  163. <delete includeemptydirs="true">
  164. <fileset dir="${describe.dir}" includes="**/*" />
  165. </delete>
  166. <java classname="com.x.base.core.project.annotation.Describe" fork="true">
  167. <sysproperty key="file.encoding" value="utf-8" />
  168. <arg value="${describe.dir}" />
  169. <arg value="${project}" />
  170. <classpath>
  171. <pathelement location="${build.dir}/classes" />
  172. <pathelement location="${src.dir}/main/resources" />
  173. <fileset dir="${lib.dir}">
  174. <include name="**/*.jar" />
  175. </fileset>
  176. <fileset dir="${store.dir}/jars">
  177. <include name="*.jar" />
  178. </fileset>
  179. </classpath>
  180. </java>
  181. <copy todir="${describe.dir}/sources">
  182. <fileset dir="${src.dir}/main/java">
  183. <include name="**/*.java" />
  184. </fileset>
  185. </copy>
  186. <!--mkdir dir="${applicationserver.dir}/describe/${project}" />
  187. <delete includeemptydirs="true">
  188. <fileset dir="${applicationserver.dir}/describe/${project}" includes="**/*" />
  189. </delete>
  190. <copy todir="${applicationserver.dir}/describe/${project}">
  191. <fileset dir="${describe.dir}" />
  192. </copy-->
  193. </target>
  194. <target name="httpMethodDescribeWriter">
  195. <mkdir dir="${describe.http.dir}/${project}" />
  196. <delete includeemptydirs="true">
  197. <fileset dir="${describe.http.dir}/${project}" includes="**/*" />
  198. </delete>
  199. <java classname="com.x.base.core.http.annotation.tools.HttpMethodDescribeWriter" fork="false">
  200. <sysproperty key="file.encoding" value="utf-8" />
  201. <arg value="${describe.http.dir}/${project}" />
  202. <arg value="${project}" />
  203. <classpath>
  204. <pathelement location="${build.dir}/classes" />
  205. <pathelement location="${src.dir}/main/resources" />
  206. <fileset dir="${lib.dir}">
  207. <include name="**/*.jar" />
  208. </fileset>
  209. <fileset dir="${store.dir}/jars">
  210. <include name="*.jar" />
  211. </fileset>
  212. </classpath>
  213. </java>
  214. </target>
  215. <target name="docs">
  216. <javadoc encoding="utf-8" charset="utf-8" docencoding="utf-8" access="protected" author="true" destdir="${applicationserver.dir}/describe/javadoc/${project}" nodeprecated="false" nodeprecatedlist="false" noindex="false" nonavbar="false" notree="false" source="1.8" sourcepath="${src.dir}/main/java" splitindex="true" use="true" version="true">
  217. <classpath refid="project.classpath">
  218. </classpath>
  219. </javadoc>
  220. </target>
  221. </project>