PageRenderTime 2677ms CodeModel.GetById 41ms RepoModel.GetById 38ms app.codeStats 0ms

/asl/asl-java-package.xml

http://mp-rechnungs-und-kundenverwaltung.googlecode.com/
XML | 151 lines | 76 code | 14 blank | 61 comment | 0 complexity | dfed769d7ff271378f734abf5b71064e MD5 | raw file
Possible License(s): LGPL-3.0, Apache-2.0, GPL-3.0, GPL-2.0, AGPL-3.0, JSON, BSD-3-Clause
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. ********************************************************************************
  4. * Ant Script Library - Java zip package module
  5. * Module that arranges the application jar, libraries and configuration file
  6. * ready for installation.
  7. * Module property prefix: "java-package"
  8. ********************************************************************************
  9. * Copyright 2009 Joe Schmetzer
  10. *
  11. * Licensed under the Apache License, Version 2.0 (the "License");
  12. * you may not use this file except in compliance with the License.
  13. * You may obtain a copy of the License at
  14. *
  15. * http://www.apache.org/licenses/LICENSE-2.0
  16. *
  17. * Unless required by applicable law or agreed to in writing, software
  18. * distributed under the License is distributed on an "AS IS" BASIS,
  19. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  20. * See the License for the specific language governing permissions and
  21. * limitations under the License.
  22. ********************************************************************************
  23. -->
  24. <project name="asl-java-package">
  25. <dirname property="asl-java-package.basedir" file="${ant.file.asl-java-package}"/>
  26. <import file="${asl-java-package.basedir}/asl-java-build.xml"/>
  27. <!-- ***********************************************************************
  28. * target: package
  29. ************************************************************************ -->
  30. <target name="package" depends="jar, -package-init, -package-jar, -package-libs, -package-config, -package-scripts, -package-zip"
  31. description="Zips an application jar in deployable directory structure"/>
  32. <!-- ***********************************************************************
  33. * target: install
  34. ************************************************************************ -->
  35. <target name="install" depends="package, -init-install-dir"
  36. description="Installs the packaged application to a user specified directory">
  37. <unzip src="${java-package.zip-file}" dest="${install-dir}"/>
  38. </target>
  39. <!-- ***********************************************************************
  40. * target: -init-install-dir
  41. ************************************************************************ -->
  42. <target name="-init-install-dir" unless="install-dir">
  43. <echo message="Property 'install-dir' has not been defined, prompting..."/>
  44. <input addproperty="install-dir">Enter the installation directory: </input>
  45. </target>
  46. <!-- ***********************************************************************
  47. * target: -package-init
  48. ************************************************************************ -->
  49. <target name="-package-init" depends="-package-init-version">
  50. <property name="java-package.pkg-dir" location="${common.target-dir}/package"/>
  51. <property name="java-package.pkg-lib-dir" location="${java-package.pkg-dir}/lib"/>
  52. <property name="java-package.pkg-config-dir" location="${java-package.pkg-dir}/config"/>
  53. <property name="java-package.run-sh-name" value="run.sh"/>
  54. <property name="java-package.run-sh-file" value="${java-package.pkg-dir}/${java-package.run-sh-name}"/>
  55. <property name="java-package.run-cmd-name" value="run.cmd"/>
  56. <property name="java-package.run-cmd-file" value="${java-package.pkg-dir}/${java-package.run-cmd-name}"/>
  57. <property name="java-package.jvm-options" value=""/>
  58. <property name="java-package.package-version" value="${release.version}"/>
  59. <property name="java-package.zip-dir" location="${common.dist-dir}"/>
  60. <property name="java-package.zip-file" location="${java-package.zip-dir}/${ant.project.name}-${java-package.package-version}.zip"/>
  61. </target>
  62. <!-- ***********************************************************************
  63. * target: -package-init
  64. ************************************************************************ -->
  65. <target name="-package-init-version" depends="-init-time" unless="release.version">
  66. <property name="java-package.package-version" value="dev-${common.date-iso}"/>
  67. </target>
  68. <!-- ***********************************************************************
  69. * target: -package-jar
  70. ************************************************************************ -->
  71. <target name="-package-jar">
  72. <mkdir dir="${java-package.pkg-dir}"/>
  73. <copy todir="${java-package.pkg-dir}" file="${java-build.jar-file}"/>
  74. </target>
  75. <!-- ***********************************************************************
  76. * target: -package-libs
  77. ************************************************************************ -->
  78. <target name="-package-libs" depends="-init-runtime-classpath">
  79. <mkdir dir="${java-package.pkg-lib-dir}"/>
  80. <copy todir="${java-package.pkg-lib-dir}" flatten="true">
  81. <path refid="java-build.runtime-classpath"/>
  82. </copy>
  83. </target>
  84. <!-- ***********************************************************************
  85. * target: -package-config
  86. ************************************************************************ -->
  87. <target name="-package-config"
  88. depends="-package-config-check"
  89. if="java-package.config-exists">
  90. <property name="java-package.src-config-dir" location="config"/>
  91. <mkdir dir="${java-package.pkg-config-dir}"/>
  92. <copy todir="${java-package.pkg-config-dir}">
  93. <fileset dir="${java-package.src-config-dir}"/>
  94. </copy>
  95. </target>
  96. <!-- ***********************************************************************
  97. * target: -package-config-check
  98. ************************************************************************ -->
  99. <target name="-package-config-check">
  100. <available file="${java-package.src-config-dir}"
  101. type="dir"
  102. property="java-package.config-exists"/>
  103. </target>
  104. <!-- ***********************************************************************
  105. * target: -package-scripts
  106. ************************************************************************ -->
  107. <target name="-package-scripts" depends="-package-scripts-cmd, -package-scripts-sh"/>
  108. <!-- ***********************************************************************
  109. * target: -package-scripts-cmd
  110. ************************************************************************ -->
  111. <target name="-package-scripts-cmd">
  112. <echo file="${java-package.run-cmd-file}">@echo off
  113. REM %~dp0 is name of current script under NT
  114. set JARDIR=%~dp0
  115. java ${java-package.jvm-options} -jar %JARDIR%${java-build.dist-filename} %*
  116. </echo>
  117. </target>
  118. <!-- ***********************************************************************
  119. * target: -package-scripts-sh
  120. ************************************************************************ -->
  121. <target name="-package-scripts-sh">
  122. <echo file="${java-package.run-sh-file}">#!/bin/sh
  123. JARDIR=`dirname "$0"`
  124. java ${java-package.jvm-options} -jar $JARDIR/${java-build.dist-filename} $@
  125. </echo>
  126. <chmod file="${java-package.run-sh-file}" perm="ugo+rx"/>
  127. </target>
  128. <!-- ***********************************************************************
  129. * target: -package-zip
  130. ************************************************************************ -->
  131. <target name="-package-zip">
  132. <mkdir dir="${java-package.zip-dir}" />
  133. <zip destfile="${java-package.zip-file}">
  134. <fileset dir="${java-package.pkg-dir}"/>
  135. </zip>
  136. </target>
  137. </project>