You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

build.xml 3.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project name="DMDirc Util" default="default" basedir=".">
  3. <description>Builds, packages and tests DMDirc utility classes.</description>
  4. <property name="util.src" location="src"/>
  5. <property name="util.test" location="test"/>
  6. <property name="util.build" location="build"/>
  7. <property name="util.build.main" location="${util.build}/classes"/>
  8. <property name="util.build.test" location="${util.build}/test"/>
  9. <property name="util.reports" location="reports"/>
  10. <property name="util.lib" location="lib"/>
  11. <property name="util.dist" location="dist"/>
  12. <path id="util.classpath.test">
  13. <pathelement path="${util.build.main}"/>
  14. <fileset dir="${util.lib}" includes="*.jar"/>
  15. </path>
  16. <taskdef name="git-describe" classname="org.mdonoughe.JGitDescribeTask" classpathref="util.classpath.test"/>
  17. <target name="-init-compile">
  18. <mkdir dir="${util.build.main}"/>
  19. </target>
  20. <target name="-init-compile-tests">
  21. <mkdir dir="${util.build.test}"/>
  22. </target>
  23. <target name="-init-jar">
  24. <mkdir dir="${util.dist}"/>
  25. </target>
  26. <target name="-init-test">
  27. <mkdir dir="${util.reports}"/>
  28. </target>
  29. <target name="-retrieve-versions">
  30. <git-describe dir=".git" property="util.version.main" subdir="${util.src}" />
  31. </target>
  32. <target name="compile" depends="-init-compile">
  33. <javac srcdir="${util.src}" destdir="${util.build.main}"
  34. includeantruntime="false"/>
  35. </target>
  36. <target name="compile-tests" depends="compile,-init-compile-tests">
  37. <javac srcdir="${util.test}" destdir="${util.build.test}"
  38. includeantruntime="false" classpathref="util.classpath.test">
  39. </javac>
  40. <copy todir="${util.build.test}">
  41. <fileset dir="${util.test}">
  42. <exclude name="**/*.java"/>
  43. </fileset>
  44. </copy>
  45. </target>
  46. <target name="test" depends="compile-tests,-init-test">
  47. <junit printsummary="true">
  48. <classpath>
  49. <path refid="util.classpath.test"/>
  50. <pathelement location="${util.build.test}"/>
  51. </classpath>
  52. <batchtest todir="${util.reports}">
  53. <fileset dir="${util.build.test}" includes="**/*Test.class"/>
  54. <formatter type="xml"/>
  55. </batchtest>
  56. </junit>
  57. <junitreport todir="${util.reports}">
  58. <fileset dir="${util.reports}" includes="TEST-*.xml"/>
  59. </junitreport>
  60. </target>
  61. <target name="jar" depends="compile,-init-jar,-retrieve-versions">
  62. <jar destfile="${util.dist}/util.jar" basedir="${util.build.main}">
  63. <manifest>
  64. <section name="com.dmdirc.util">
  65. <attribute name="Implementation-Title" value="Utility classes"/>
  66. <attribute name="Implementation-Version" value="${util.version.main}"/>
  67. </section>
  68. </manifest>
  69. </jar>
  70. </target>
  71. <target name="clean">
  72. <delete dir="${util.build}"/>
  73. <delete dir="${util.dist}"/>
  74. <delete dir="${util.reports}"/>
  75. </target>
  76. </project>