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 4.0KB

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