Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

build-publish.xml 2.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. <property name="resolved.src.dir" location="${src.dir}"/>
  10. <git-describe dir="${git.dir}" property="git.version" subdir="${basedir}/${src.dir}" />
  11. </target>
  12. <target name="-publish-snapshot" depends="-get-git-version">
  13. <git-describe dir="${git.dir}" property="git.version" subdir="${main.src.dir}" />
  14. <ivy:resolve file="ivy.xml"/>
  15. <ivy:deliver deliverpattern="${build.dir}/ivy.xml" pubrevision="${git.version}-SNAPSHOT" />
  16. <ivy:makepom ivyfile="${build.dir}/ivy.xml" pomfile="dist/utils.pom">
  17. <mapping conf="default" scope="compile"/>
  18. </ivy:makepom>
  19. <ivy:retrieve/>
  20. <ivy:publish
  21. pubrevision="${git.version}-SNAPSHOT"
  22. status="integration"
  23. overwrite="true"
  24. publishivy="false"
  25. artifactspattern="dist/[artifact].[ext]"
  26. resolver="upload-snapshot"/>
  27. </target>
  28. <target name="-publish-release" depends="-get-git-version">
  29. <ivy:resolve file="ivy.xml"/>
  30. <ivy:deliver deliverpattern="${build.dir}/ivy.xml" pubrevision="${git.version}" />
  31. <ivy:makepom ivyfile="${build.dir}/ivy.xml" pomfile="dist/utils.pom">
  32. <mapping conf="default" scope="compile"/>
  33. </ivy:makepom>
  34. <ivy:retrieve/>
  35. <ivy:publish
  36. pubrevision="${git.version}"
  37. status="release"
  38. overwrite="true"
  39. publishivy="false"
  40. artifactspattern="dist/[artifact].[ext]"
  41. resolver="upload-release"/>
  42. </target>
  43. <target name="-publish-nightlies" depends="-get-git-version">
  44. <tstamp>
  45. <format property="timestamp" pattern="yyyyddMM" />
  46. </tstamp>
  47. <ivy:resolve file="ivy.xml"/>
  48. <ivy:deliver deliverpattern="${build.dir}/ivy.xml" pubrevision="Nightly-${timestamp}_${git.version}" />
  49. <ivy:makepom ivyfile="${build.dir}/ivy.xml" pomfile="dist/utils.pom">
  50. <mapping conf="default" scope="compile"/>
  51. </ivy:makepom>
  52. <ivy:retrieve/>
  53. <ivy:publish
  54. pubrevision="Nightly-${timestamp}_${git.version}"
  55. status="release"
  56. overwrite="true"
  57. publishivy="false"
  58. artifactspattern="dist/[artifact].[ext]"
  59. resolver="upload-nightlies"/>
  60. </target>
  61. </project>