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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  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. <target name="-init-compile">
  19. <mkdir dir="${parsers.build.main}"/>
  20. <mkdir dir="${parsers.build.irc}"/>
  21. </target>
  22. <target name="-init-compile-tests">
  23. <mkdir dir="${parsers.build.test}"/>
  24. </target>
  25. <target name="-init-jar">
  26. <mkdir dir="${parsers.dist}"/>
  27. </target>
  28. <target name="-init-test">
  29. <mkdir dir="${parsers.reports}"/>
  30. </target>
  31. <target name="-retrieve-versions">
  32. <exec executable="git" outputproperty="parsers.lastcommit.main">
  33. <arg value="rev-list"/>
  34. <arg value="--max-count=1"/>
  35. <arg value="HEAD"/>
  36. <arg value="--"/>
  37. <arg value="${parsers.src}/com/dmdirc/parser/common/"/>
  38. <arg value="${parsers.src}/com/dmdirc/parser/interfaces/"/>
  39. </exec>
  40. <exec executable="git" outputproperty="parsers.version.main">
  41. <arg value="describe"/>
  42. <arg value="--tags"/>
  43. <arg value="--always"/>
  44. <arg value="${parsers.lastcommit.main}"/>
  45. </exec>
  46. <exec executable="git" outputproperty="parsers.lastcommit.irc">
  47. <arg value="rev-list"/>
  48. <arg value="--max-count=1"/>
  49. <arg value="HEAD"/>
  50. <arg value="--"/>
  51. <arg value="${parsers.src}/com/dmdirc/parser/irc/"/>
  52. </exec>
  53. <exec executable="git" outputproperty="parsers.version.irc">
  54. <arg value="describe"/>
  55. <arg value="--tags"/>
  56. <arg value="--always"/>
  57. <arg value="${parsers.lastcommit.irc}"/>
  58. </exec>
  59. </target>
  60. <target name="compile" depends="-init-compile">
  61. <javac srcdir="${parsers.src}" destdir="${parsers.build.main}"
  62. includeantruntime="false" excludes="com/dmdirc/parser/irc/**"/>
  63. <javac srcdir="${parsers.src}" destdir="${parsers.build.irc}"
  64. includeantruntime="false" includes="com/dmdirc/parser/irc/**"
  65. classpath="${parsers.build.main}"/>
  66. </target>
  67. <target name="compile-tests" depends="compile,-init-compile-tests">
  68. <javac srcdir="${parsers.test}" destdir="${parsers.build.test}"
  69. includeantruntime="false" classpathref="parsers.classpath.test">
  70. </javac>
  71. </target>
  72. <target name="test" depends="compile-tests,-init-test">
  73. <junit printsummary="true">
  74. <classpath>
  75. <path refid="parsers.classpath.test"/>
  76. <pathelement location="${parsers.build.test}"/>
  77. </classpath>
  78. <batchtest todir="${parsers.reports}">
  79. <fileset dir="${parsers.build.test}" includes="**/*Test.class"/>
  80. <formatter type="xml"/>
  81. </batchtest>
  82. </junit>
  83. <junitreport todir="${parsers.reports}">
  84. <fileset dir="${parsers.reports}" includes="TEST-*.xml"/>
  85. </junitreport>
  86. </target>
  87. <target name="jar" depends="compile,-init-jar,-retrieve-versions">
  88. <jar destfile="${parsers.dist}/parser.common.jar" basedir="${parsers.build.main}">
  89. <manifest>
  90. <section name="com.dmdirc.parser">
  91. <attribute name="Implementation-Title" value="Common parser files"/>
  92. <attribute name="Implementation-Version" value="${parsers.version.main}"/>
  93. </section>
  94. </manifest>
  95. </jar>
  96. <jar destfile="${parsers.dist}/parser.irc.jar" basedir="${parsers.build.irc}">
  97. <manifest>
  98. <section name="com.dmdirc.parser.irc">
  99. <attribute name="Implementation-Title" value="IRC Parser"/>
  100. <attribute name="Implementation-Version" value="${parsers.version.irc}"/>
  101. </section>
  102. </manifest>
  103. </jar>
  104. </target>
  105. <target name="clean">
  106. <delete dir="${parsers.build}"/>
  107. <delete dir="${parsers.dist}"/>
  108. <delete dir="${parsers.reports}"/>
  109. </target>
  110. </project>