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

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