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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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="defaults.path" value="src/com/dmdirc/config/defaults/"/>
  6. <property name="defaults.target" value="build/classes/com/dmdirc/config/defaults/default/defaults"/>
  7. <available file=".git" property="is.git"/>
  8. <target name="-write-version" depends="-write-version-header, -add-version, -write-updater, -write-identities"/>
  9. <target name="-write-version-header">
  10. <echo file="${version.config}"># This is a DMDirc configuration file automatically generated by
  11. # the build process.
  12. keysections:
  13. identity
  14. version
  15. updater
  16. identity:
  17. name=DMDirc version information
  18. globaldefault=true
  19. order=95000
  20. version:
  21. version=</echo>
  22. </target>
  23. <target name="-add-version" depends="-add-git-version"/>
  24. <target name="-add-git-version" if="is.git">
  25. <exec executable="git" output="${version.config}" append="true">
  26. <arg value="describe"/>
  27. <arg value="--tags"/>
  28. </exec>
  29. </target>
  30. <target name="-init-channel" unless="channel">
  31. <property name="channel" value="NONE"/>
  32. </target>
  33. <target name="-write-updater" depends="-init-channel, -read-identities">
  34. <echo file="${version.config}" append="true">
  35. updater:
  36. channel=${channel}
  37. bundleddefaultsversion=${defaults.version}</echo>
  38. </target>
  39. <target name="-write-identities" depends="-read-identities">
  40. <echo file="${defaults.target}" append="true">
  41. identity:
  42. defaultsversion=${defaults.version}</echo>
  43. </target>
  44. <target name="-read-identities" depends="-read-identities-git"/>
  45. <target name="-read-identities-git" if="is.git">
  46. <exec dir="." executable="/bin/bash" outputproperty="defaults.version">
  47. <arg value="-c"/>
  48. <arg value="git rev-list --all -n 1 -- ${defaults.path} | xargs git describe --tags"/>
  49. </exec>
  50. </target>
  51. </project>