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.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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. <target name="-init-compile">
  17. <mkdir dir="${util.build.main}"/>
  18. </target>
  19. <target name="-init-compile-tests">
  20. <mkdir dir="${util.build.test}"/>
  21. </target>
  22. <target name="-init-jar">
  23. <mkdir dir="${util.dist}"/>
  24. </target>
  25. <target name="-init-test">
  26. <mkdir dir="${util.reports}"/>
  27. </target>
  28. <target name="-retrieve-versions">
  29. <exec executable="git" outputproperty="util.lastcommit.main">
  30. <arg value="rev-list"/>
  31. <arg value="--max-count=1"/>
  32. <arg value="HEAD"/>
  33. <arg value="--"/>
  34. <arg value="${util.src}/"/>
  35. </exec>
  36. <exec executable="git" outputproperty="util.version.main">
  37. <arg value="describe"/>
  38. <arg value="--tags"/>
  39. <arg value="--always"/>
  40. <arg value="${util.lastcommit.main}"/>
  41. </exec>
  42. </target>
  43. <target name="compile" depends="-init-compile">
  44. <javac srcdir="${util.src}" destdir="${util.build.main}"
  45. includeantruntime="false"/>
  46. </target>
  47. <target name="compile-tests" depends="compile,-init-compile-tests">
  48. <javac srcdir="${util.test}" destdir="${util.build.test}"
  49. includeantruntime="false" classpathref="util.classpath.test">
  50. </javac>
  51. <copy todir="${util.build.test}">
  52. <fileset dir="${util.test}">
  53. <exclude name="**/*.java"/>
  54. </fileset>
  55. </copy>
  56. </target>
  57. <target name="test" depends="compile-tests,-init-test">
  58. <junit printsummary="true">
  59. <classpath>
  60. <path refid="util.classpath.test"/>
  61. <pathelement location="${util.build.test}"/>
  62. </classpath>
  63. <batchtest todir="${util.reports}">
  64. <fileset dir="${util.build.test}" includes="**/*Test.class"/>
  65. <formatter type="xml"/>
  66. </batchtest>
  67. </junit>
  68. <junitreport todir="${util.reports}">
  69. <fileset dir="${util.reports}" includes="TEST-*.xml"/>
  70. </junitreport>
  71. </target>
  72. <target name="jar" depends="compile,-init-jar,-retrieve-versions">
  73. <jar destfile="${util.dist}/util.jar" basedir="${util.build.main}">
  74. <manifest>
  75. <section name="com.dmdirc.util">
  76. <attribute name="Implementation-Title" value="Utility classes"/>
  77. <attribute name="Implementation-Version" value="${util.version.main}"/>
  78. </section>
  79. </manifest>
  80. </jar>
  81. </target>
  82. <target name="clean">
  83. <delete dir="${util.build}"/>
  84. <delete dir="${util.dist}"/>
  85. <delete dir="${util.reports}"/>
  86. </target>
  87. </project>