build.xml 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <?xml version="1.0"?>
  2. <project name="hyperjaxb2-sample-ant" default="install">
  3. <property name="artifactId" value="hyperjaxb2-template-basic-ant"/>
  4. <property name="version" value="0.6.2"/>
  5. <path id="hyperjaxb2.compile.path">
  6. <pathelement path="${basedir}/classes"/>
  7. <fileset dir="${basedir}/lib">
  8. <include name="jaxb-xjc-*.jar"/>
  9. <include name="jaxb-impl-*.jar"/>
  10. <include name="isorelax-*.jar"/>
  11. <include name="jaxb-api-*.jar"/>
  12. <include name="jaxb-libs-*.jar"/>
  13. <include name="jaxp-api-*.jar"/>
  14. <include name="jaxp-ri-*.jar"/>
  15. <include name="relaxngDatatype-*.jar"/>
  16. <include name="xsdlib-*.jar"/>
  17. <include name="jaxbcommons-core-*.jar"/>
  18. <include name="jaxbcommons-shared-*.jar"/>
  19. <include name="jaxbcommons-testing-*.jar"/>
  20. <include name="spring-*.jar"/>
  21. <include name="hyperjaxb2-core-*.jar"/>
  22. <include name="hyperjaxb2-hibernate-configuration-*.jar"/>
  23. <include name="hyperjaxb2-hibernate-customizations-*.jar"/>
  24. <include name="hyperjaxb2-hibernate-mapping-*.jar"/>
  25. <include name="hyperjaxb2-shared-*.jar"/>
  26. <include name="hyperjaxb2-testing-*.jar"/>
  27. <include name="commons-lang-*.jar"/>
  28. <include name="commons-logging-*.jar"/>
  29. <include name="commons-beanutils-*.jar"/>
  30. <include name="log4j-*.jar"/>
  31. <include name="saxon-*.jar"/>
  32. <include name="saxon-dom-*.jar"/>
  33. <include name="hibernate-*.jar"/>
  34. <include name="junit-*.jar"/>
  35. </fileset>
  36. </path>
  37. <path id="hyperjaxb2.runtime.path">
  38. <fileset dir="${basedir}/lib">
  39. <include name="antlr-*.jar"/>
  40. <include name="asm-*.jar"/>
  41. <include name="asm-attrs-*.jar"/>
  42. <include name="cglib-*.jar"/>
  43. <include name="ehcache-*.jar"/>
  44. <include name="jta-*.jar"/>
  45. <include name="hibernate-*.jar"/>
  46. <include name="dom4j-*.jar"/>
  47. <include name="commons-collections-*.jar"/>
  48. <include name="commons-io-*.jar"/>
  49. <include name="commons-lang-*.jar"/>
  50. <include name="jaxb-api-*.jar"/>
  51. <include name="jaxb-impl-*.jar"/>
  52. <include name="jaxp-api-*.jar"/>
  53. <include name="jaxp-ri-*.jar"/>
  54. <include name="isorelax-*.jar"/>
  55. <include name="jaxb-libs-*.jar"/>
  56. <include name="relaxngDatatype-*.jar"/>
  57. <include name="xsdlib-*.jar"/>
  58. <include name="jaxbcommons-shared-*.jar"/>
  59. <include name="jaxbcommons-testing-*.jar"/>
  60. <include name="hyperjaxb2-shared-*.jar"/>
  61. <include name="hyperjaxb2-testing-*.jar"/>
  62. <include name="commons-logging-*.jar"/>
  63. <include name="log4j-*.jar"/>
  64. <include name="hsqldb-*.jar"/>
  65. <include name="junit-*.jar"/>
  66. </fileset>
  67. </path>
  68. <target name="clean">
  69. <delete dir="${basedir}/target/"/>
  70. <delete dir="${basedir}/target/classes"/>
  71. <delete dir="${basedir}/target/test-classes"/>
  72. </target>
  73. <target name="generate-sources">
  74. <taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask" classpathref="hyperjaxb2.compile.path"/>
  75. <mkdir dir="${basedir}/target/generated-sources/xjc"/>
  76. <xjc target="${basedir}/target/generated-sources/xjc" extension="true">
  77. <arg line="
  78. -Xequals
  79. -XhashCode
  80. -Xhyperjaxb2
  81. -Xhyperjaxb2-rt=RoundtripTest"/>
  82. <binding dir="${basedir}/src/main/resources">
  83. <include name="**/*.xjb"/>
  84. </binding>
  85. <schema dir="${basedir}/src/main/resources">
  86. <include name="**/*.xsd"/>
  87. </schema>
  88. </xjc>
  89. </target>
  90. <target name="compile" depends="generate-sources">
  91. <mkdir dir="${basedir}/target/classes"/>
  92. <javac
  93. destdir="${basedir}/target/classes"
  94. srcdir="${basedir}/src/main/java:${basedir}/target/generated-sources/xjc"
  95. classpathref="hyperjaxb2.compile.path">
  96. </javac>
  97. <copy todir="${basedir}/target/classes">
  98. <fileset dir="${basedir}/src/main/resources"/>
  99. <fileset dir="${basedir}/target/generated-sources/xjc">
  100. <exclude name="**/*.java" />
  101. </fileset>
  102. </copy>
  103. </target>
  104. <target name="test-compile" depends="compile">
  105. <mkdir dir="${basedir}/target/test-classes"/>
  106. <javac
  107. destdir="${basedir}/target/test-classes"
  108. srcdir="${basedir}/src/test/java:${basedir}/target/generated-sources/xjc"
  109. classpathref="hyperjaxb2.runtime.path">
  110. </javac>
  111. <copy todir="${basedir}/target/test-classes">
  112. <fileset dir="${basedir}/src/test/resources"/>
  113. <fileset dir="${basedir}/target/generated-sources/xjc">
  114. <exclude name="**/*.java" />
  115. </fileset>
  116. </copy>
  117. </target>
  118. <target name="test" depends="test-compile">
  119. <mkdir dir="${basedir}/target/junit-reports"/>
  120. <junit printsummary="yes" haltonfailure="yes">
  121. <classpath>
  122. <pathelement location="${basedir}/target/classes"/>
  123. <pathelement location="${basedir}/target/test-classes"/>
  124. <path refid="hyperjaxb2.runtime.path"/>
  125. </classpath>
  126. <formatter type="plain"/>
  127. <formatter type="xml"/>
  128. <batchtest fork="yes" todir="${basedir}/target/junit-reports">
  129. <fileset dir="${basedir}/src/test/java">
  130. <include name="**/*Test*.java"/>
  131. <exclude name="**/AllTests.java"/>
  132. </fileset>
  133. <fileset dir="${basedir}/target/generated-sources/xjc">
  134. <include name="**/*Test*.java"/>
  135. <exclude name="**/AllTests.java"/>
  136. </fileset>
  137. </batchtest>
  138. </junit>
  139. </target>
  140. <target name="package" depends="test">
  141. <mkdir dir="${basedir}/target"/>
  142. <jar destfile="${basedir}/target/${artifactId}-${version}.jar"
  143. basedir="${basedir}/target/classes"/>
  144. </target>
  145. <target name="install" depends="package"/>
  146. </project>