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-publish.xml 5.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project name="DMDirc-Publish" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant">
  3. <description>Publish artifacts for DMDirc</description>
  4. <available file="${git.dir}" property="is.git" />
  5. <target name="-init-version">
  6. <taskdef name="git-describe" classname="org.mdonoughe.JGitDescribeTask" classpathref="lib.classpath"/>
  7. </target>
  8. <target name="-get-git-version" depends="-init-version" if="is.git">
  9. <git-describe dir="${git.dir}" property="parsers.version.main" subdir="${basedir}/${src.dir}/com/dmdirc/parser/common/;${basedir}/${src.dir}/com/dmdirc/parser/interfaces/" />
  10. <git-describe dir="${git.dir}" property="parsers.version.irc" subdir="${basedir}/${src.dir}/com/dmdirc/parser/irc/" />
  11. </target>
  12. <target name="-publish-release" depends="-get-git-version">
  13. <tstamp>
  14. <format property="timestamp" pattern="yyyyddMM" />
  15. </tstamp>
  16. <ivy:resolve file="ivy.common.xml"/>
  17. <ivy:deliver deliverpattern="${build.dir}/ivy.common.xml" pubrevision="${parsers.version.main}" />
  18. <ivy:makepom ivyfile="${build.dir}/ivy.common.xml" pomfile="dist/parser.common.pom">
  19. <mapping conf="default" scope="compile"/>
  20. </ivy:makepom>
  21. <ivy:retrieve/>
  22. <ivy:publish
  23. pubrevision="${parsers.version.main}"
  24. status="release"
  25. overwrite="true"
  26. publishivy="false"
  27. artifactspattern="dist/parser.common.[ext]"
  28. resolver="upload-release"/>
  29. <ivy:resolve file="ivy.irc.xml"/>
  30. <ivy:deliver deliverpattern="${build.dir}/ivy.irc.xml" pubrevision="${parsers.version.irc}" />
  31. <ivy:makepom ivyfile="${build.dir}/ivy.irc.xml" pomfile="dist/parser.irc.pom">
  32. <mapping conf="default" scope="compile"/>
  33. <dependency group="com.dmdirc.parser" artifact="common" version="${parsers.version.main}"/>
  34. </ivy:makepom>
  35. <ivy:retrieve/>
  36. <ivy:publish
  37. pubrevision="${parsers.version.irc}"
  38. status="release"
  39. overwrite="true"
  40. publishivy="false"
  41. artifactspattern="dist/parser.irc.[ext]"
  42. resolver="upload-release"/>
  43. </target>
  44. <target name="-publish-nightlies" depends="-get-git-version">
  45. <tstamp>
  46. <format property="timestamp" pattern="yyyyddMM" />
  47. </tstamp>
  48. <ivy:resolve file="ivy.common.xml"/>
  49. <ivy:deliver deliverpattern="${build.dir}/ivy.common.xml" pubrevision="Nightly-${timestamp}_${parsers.version.main}" />
  50. <ivy:makepom ivyfile="${build.dir}/ivy.common.xml" pomfile="dist/parser.common.pom">
  51. <mapping conf="default" scope="compile"/>
  52. </ivy:makepom>
  53. <ivy:retrieve/>
  54. <ivy:publish
  55. pubrevision="Nightly-${timestamp}_${parsers.version.main}"
  56. status="release"
  57. overwrite="true"
  58. publishivy="false"
  59. artifactspattern="dist/parser.common.[ext]"
  60. resolver="upload-nightlies"/>
  61. <ivy:resolve file="ivy.irc.xml"/>
  62. <ivy:deliver deliverpattern="${build.dir}/ivy.irc.xml" pubrevision="Nightly-${timestamp}_${parsers.version.irc}" />
  63. <ivy:makepom ivyfile="${build.dir}/ivy.irc.xml" pomfile="dist/parser.irc.pom">
  64. <mapping conf="default" scope="compile"/>
  65. <dependency group="com.dmdirc.parser" artifact="common" version="Nightly-${timestamp}_${parsers.version.main}"/>
  66. </ivy:makepom>
  67. <ivy:retrieve/>
  68. <ivy:publish
  69. pubrevision="Nightly-${timestamp}_${parsers.version.irc}"
  70. status="release"
  71. overwrite="true"
  72. publishivy="false"
  73. artifactspattern="dist/parser.irc.[ext]"
  74. resolver="upload-nightlies"/>
  75. </target>
  76. <target name="-publish-snapshot" depends="-get-git-version">
  77. <tstamp>
  78. <format property="timestamp" pattern="yyyyddMM" />
  79. </tstamp>
  80. <ivy:resolve file="ivy.common.xml"/>
  81. <ivy:deliver deliverpattern="${build.dir}/ivy.common.xml" pubrevision="${parsers.version.main}-SNAPSHOT" />
  82. <ivy:makepom ivyfile="${build.dir}/ivy.common.xml" pomfile="dist/parser.common.pom">
  83. <mapping conf="default" scope="compile"/>
  84. </ivy:makepom>
  85. <ivy:retrieve/>
  86. <ivy:publish
  87. pubrevision="${parsers.version.main}-SNAPSHOT"
  88. status="release"
  89. overwrite="true"
  90. publishivy="false"
  91. artifactspattern="dist/parser.common.[ext]"
  92. resolver="upload-snapshot"/>
  93. <ivy:resolve file="ivy.irc.xml"/>
  94. <ivy:deliver deliverpattern="${build.dir}/ivy.irc.xml" pubrevision="${parsers.version.irc}-SNAPSHOT" />
  95. <ivy:makepom ivyfile="${build.dir}/ivy.irc.xml" pomfile="dist/parser.irc.pom">
  96. <mapping conf="default" scope="compile"/>
  97. <dependency group="com.dmdirc.parser" artifact="common" version="${parsers.version.main}-SNAPSHOT"/>
  98. </ivy:makepom>
  99. <ivy:retrieve/>
  100. <ivy:publish
  101. pubrevision="${parsers.version.irc}-SNAPSHOT"
  102. status="release"
  103. overwrite="true"
  104. publishivy="false"
  105. artifactspattern="dist/parser.irc.[ext]"
  106. resolver="upload-snapshot"/>
  107. </target>
  108. </project>