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-versioning.xml 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project name="DMDirc-versioning" default="default" basedir=".">
  3. <description>Adds automatic versioning information to DMDirc</description>
  4. <property name="version.config" value="build/classes/com/dmdirc/version.config"/>
  5. <property name="version.config.idea" value="build/production/DMDirc/com/dmdirc/version.config"/>
  6. <property name="defaults.path" value="modules/defaults/.git/"/>
  7. <property name="defaults.output" value="build/classes/com/dmdirc/config/defaults/"/>
  8. <property name="defaults.target" value="${defaults.output}default/defaults"/>
  9. <property name="modealiases.target" value="${defaults.output}modealiases/generic"/>
  10. <available file=".git" property="is.git"/>
  11. <target name="-init-version">
  12. <taskdef name="git-describe" classname="org.mdonoughe.JGitDescribeTask" classpathref="build-classpath"/>
  13. </target>
  14. <target name="-write-version" depends="-init-version, -write-version-header, -add-version, -write-updater, -write-identities, -write-disable-updates"/>
  15. <target name="write-version-for-idea" depends="-write-version">
  16. <copy file="${version.config}" tofile="${version.config.idea}" overwrite="true"/>
  17. </target>
  18. <target name="-write-version-header">
  19. <echo file="${version.config}"># This is a DMDirc configuration file automatically generated by
  20. # the build process.
  21. keysections:
  22. identity
  23. version
  24. updater
  25. identity:
  26. name=DMDirc version information
  27. globaldefault=true
  28. order=95000
  29. version:
  30. version=</echo>
  31. </target>
  32. <target name="-add-version" depends="-add-git-version"/>
  33. <target name="-add-git-version" if="is.git">
  34. <git-describe dir=".git" property="git.version" />
  35. <echo file="${version.config}" append="true">${git.version}
  36. </echo>
  37. </target>
  38. <target name="-init-channel" unless="channel">
  39. <property name="channel" value="NONE"/>
  40. </target>
  41. <target name="with.disabled.updater">
  42. <property name="disableupdates" value="true" />
  43. </target>
  44. <target name="-write-disable-updates" if="disableupdates">
  45. <echo file="${version.config}" append="true">
  46. version:
  47. noupdates=true
  48. </echo>
  49. </target>
  50. <target name="-write-updater" depends="-init-channel, -read-identities">
  51. <echo file="${version.config}" append="true">
  52. updater:
  53. channel=${channel}
  54. bundleddefaultsversion=${defaults.version}
  55. bundledmodealiasesversion=${modealiases.version}
  56. </echo>
  57. </target>
  58. <target name="-write-identities" depends="-read-identities, -copy-identities">
  59. <echo file="${defaults.target}" append="true">
  60. identity:
  61. defaultsversion=${defaults.version}
  62. </echo>
  63. <echo file="${modealiases.target}" append="true">
  64. identity:
  65. modealiasversion=${modealiases.version}
  66. </echo>
  67. </target>
  68. <target name="-copy-identities">
  69. <mkdir dir="${defaults.output}"/>
  70. <copy todir="${defaults.output}" overwrite="true">
  71. <fileset dir="modules/defaults/" excludes=".git/"/>
  72. </copy>
  73. </target>
  74. <target name="-read-identities" depends="-read-identities-git"/>
  75. <target name="-read-identities-git" if="is.git">
  76. <git-describe dir="${defaults.path}" property="defaults.version" subdir="default" />
  77. <git-describe dir="${defaults.path}" property="modealiases.version" subdir="modealiases" />
  78. </target>
  79. </project>