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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project name="DMDirc" default="default" basedir=".">
  3. <description>Builds, tests, and runs the project DMDirc.</description>
  4. <import file="nbproject/build-impl.xml"/>
  5. <import file="build-installer.xml"/>
  6. <import file="build-paths.xml"/>
  7. <import file="build-plugins.xml"/>
  8. <import file="build-reports.xml"/>
  9. <import file="build-tests.xml"/>
  10. <import file="build-versioning.xml"/>
  11. <import file="build-properties.xml"/>
  12. <import file="build-ivy.xml"/>
  13. <target name="-init-lib-directory">
  14. <mkdir dir="lib"/>
  15. </target>
  16. <target name="init-private" depends="-init-lib-directory">
  17. <echo>Downloading private files, if this fails please pass username and</echo>
  18. <echo>password to ant using -Dusername=... -Dpassword=...</echo>
  19. <get src="http://www.dmdirc.com/private/clover.license" dest="etc/clover/clover.license" username="${username}" password="${password}"/>
  20. <get dest="installer/signing/" username="${username}" password="${password}">
  21. <url url="http://www.dmdirc.com/private/DMDirc.cer"/>
  22. <url url="http://www.dmdirc.com/private/DMDirc.pvk"/>
  23. <url url="http://www.dmdirc.com/private/DMDirc.spc"/>
  24. </get>
  25. <get dest="addons.api.key" username="${username}" password="${password}" src="http://www.dmdirc.com/private/addons.api.key"/>
  26. <!-- Re-evaluate as the license is probably here now -->
  27. <condition property="clover.installed">
  28. <and>
  29. <available classname="com.atlassian.clover.CloverInstr"/>
  30. <available file="etc/clover/clover.license"/>
  31. </and>
  32. </condition>
  33. </target>
  34. <target name="-post-clean">
  35. <delete dir="modules/plugins/build"/>
  36. <delete dir="modules/plugins/dist"/>
  37. <delete dir="modules/parser/build"/>
  38. <delete dir="modules/parser/dist"/>
  39. <delete dir="modules/util/build"/>
  40. <delete dir="modules/util/dist"/>
  41. </target>
  42. <target name="-bundle-slf4j">
  43. <jar destfile="${dist.jar}" update="true">
  44. <zipfileset src="lib/main/slf4j-api.jar" includes="org/slf4j/**/*"/>
  45. </jar>
  46. </target>
  47. <target name="-bundle-base64">
  48. <jar destfile="${dist.jar}" update="true">
  49. <zipfileset src="lib/main/migbase64.jar" includes="com/migcomponents/**"/>
  50. </jar>
  51. </target>
  52. <target name="-bundle-dagger">
  53. <jar destfile="${dist.jar}" update="true">
  54. <zipfileset src="lib/main/dagger.jar" includes="dagger/**"/>
  55. <zipfileset src="lib/main/javax.inject.jar" includes="javax/inject/*"/>
  56. </jar>
  57. </target>
  58. <target name="-bundle-raven">
  59. <jar destfile="${dist.jar}" update="true">
  60. <zipfileset src="lib/main/jackson-core.jar" includes="com/fasterxml/**"/>
  61. <zipfileset src="lib/main/raven.jar" includes="net/kencochrane/**,raven-build.properties"/>
  62. </jar>
  63. </target>
  64. <target name="-bundle-guava">
  65. <jar destfile="${dist.jar}" update="true">
  66. <zipfileset src="lib/main/guava.jar" includes="com/google/**"/>
  67. </jar>
  68. </target>
  69. <target name="-bundle-mbassador">
  70. <jar destfile="${dist.jar}" update="true">
  71. <zipfileset src="lib/main/mbassador.jar" includes="net/engio/**"/>
  72. </jar>
  73. </target>
  74. <target name="-bundle-yamlreader">
  75. <jar destfile="${dist.jar}" update="true">
  76. <zipfileset src="lib/main/yamlbeans.jar" includes="com/esotericsoftware/yamlbeans/**" />
  77. </jar>
  78. </target>
  79. <target name="-bundle-util">
  80. <jar destfile="${dist.jar}" update="true">
  81. <zipfileset src="lib/main/util.jar" includes="com/dmdirc/**" />
  82. </jar>
  83. </target>
  84. <target name="-init-submodule-dependencies">
  85. <subant buildpath="modules/plugins" target="init-dependencies"/>
  86. </target>
  87. <target name="-pre-init" depends="-init-dependencies,-init-submodule-dependencies,-init-private-properties"/>
  88. <target name="-post-compile" depends="-write-version, build-plugins"/>
  89. <target name="-post-test-run" depends="-do-test-reports"/>
  90. <target name="-post-jar" depends="-update-bundled-plugins,-bundle-slf4j,-bundle-dagger,-bundle-base64,-bundle-guava,-bundle-mbassador,-bundle-raven,-bundle-yamlreader,-bundle-util"/>
  91. </project>