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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?xml version="1.0"?>
  2. <project name="common" basedir=".">
  3. <condition property="jdk15" value="yes">
  4. <contains string="${java.version}" substring="1.5"/>
  5. </condition>
  6. <condition property="jdk14" value="yes">
  7. <contains string="${java.version}" substring="1.4"/>
  8. </condition>
  9. <condition property="jdk13" value="yes">
  10. <contains string="${java.version}" substring="1.3"/>
  11. </condition>
  12. <target name="init">
  13. <property name="src.dir" value="src"/>
  14. <property name="test.src.dir" value="testsrc"/>
  15. <property name="build.dir" value="bin"/>
  16. <property name="test.build.dir" value="bintest"/>
  17. <property name="build.ajdir" value="../aj-build"/>
  18. <mkdir dir="${build.ajdir}"/>
  19. <mkdir dir="${build.ajdir}/jars"/>
  20. <!-- props for manifest files -->
  21. <property name="build.version" value="DEVELOPMENT"/>
  22. <property name="build.version.base" value="1.2"/>
  23. <property name="build.version.long" value="DEVELOPMENT"/>
  24. <property name="build.version.short" value="DEVELOPMENT"/>
  25. <property name="build.version.eclipse.plugins" value="9.9.9"/>
  26. <!-- formats comply with SimpleDateFormat -->
  27. <property name="build.time.format" value="EEEE MMM d, yyyy 'at' HH:mm:ss z"/>
  28. <property name="build.date.format" value="EEEE MMM d, yyyy"/>
  29. <tstamp>
  30. <format property="build.date"
  31. pattern="${build.date.format}"
  32. timezone="GMT"/>
  33. <format property="build.time"
  34. pattern="${build.time.format}"
  35. timezone="GMT"/>
  36. </tstamp>
  37. <filter token="build.version" value="${build.version}"/>
  38. <filter token="build.version.base" value="${build.version.base}"/>
  39. <filter token="build.version.long" value="${build.version.long}"/>
  40. <filter token="build.version.short" value="${build.version.short}"/>
  41. <filter token="build.time.format" value="${build.time.format}"/>
  42. <filter token="build.date.format" value="${build.date.format}"/>
  43. <filter token="build.date" value="${build.date}"/>
  44. <filter token="build.time" value="${build.time}"/>
  45. <filter token="company.name" value="${company.name}"/><!-- FIXME av undefined -->
  46. <filter token="copyright.allRights.from1998"
  47. value="${copyright.allRights.from1998}" /><!-- FIXME av where used ? -->
  48. </target>
  49. <target name="clean" depends="init, cleanall">
  50. <mkdir dir="${build.dir}"/>
  51. <mkdir dir="${test.build.dir}"/>
  52. </target>
  53. <target name="cleanall" depends="init">
  54. <delete dir="${build.dir}"/>
  55. <delete dir="${test.build.dir}"/>
  56. <!-- rather common to have ajcore files produced after a test run -->
  57. <delete>
  58. <fileset dir="${basedir}" includes="ajcore.*.txt"/>
  59. </delete>
  60. </target>
  61. <macrodef name="srccompile">
  62. <attribute name="project"/>
  63. <attribute name="path"/>
  64. <sequential>
  65. <echo message="compile ... @{project}"/>
  66. <mkdir dir="../@{project}/${build.dir}"/>
  67. <javac debug="on" destdir="../@{project}/${build.dir}" source="1.3" target="1.3">
  68. <src path="../@{project}/${src.dir}"/>
  69. <classpath refid="@{path}"/>
  70. </javac>
  71. </sequential>
  72. </macrodef>
  73. <macrodef name="testcompile">
  74. <attribute name="project"/>
  75. <attribute name="path"/>
  76. <sequential>
  77. <echo message="test:compile ... @{project}"/>
  78. <mkdir dir="../@{project}/${test.build.dir}"/>
  79. <javac debug="on" destdir="../@{project}/${test.build.dir}" source="1.3" target="1.3">
  80. <src path="../@{project}/${test.src.dir}"/>
  81. <classpath refid="@{path}"/>
  82. <classpath path="../@{project}/${build.dir}"/>
  83. </javac>
  84. </sequential>
  85. </macrodef>
  86. <macrodef name="testrun">
  87. <attribute name="project"/>
  88. <attribute name="path"/>
  89. <attribute name="suite"/>
  90. <sequential>
  91. <!-- showoutput="on" -->
  92. <!-- <junit showoutput="on" fork="on" haltonfailure="on" haltonerror="on" printsummary="on" dir="../@{project}">-->
  93. <!-- <classpath>-->
  94. <!-- <pathelement path="../@{project}/${build.dir}"/>-->
  95. <!-- <pathelement path="../@{project}/${test.build.dir}"/>-->
  96. <!-- <path refid="@{path}"/>-->
  97. <!-- </classpath>-->
  98. <!-- <test name="@{suite}"/>-->
  99. <!-- </junit>-->
  100. <!-- TODO AV - using java to invoke JUnit since the junit task is hidding errors - don't know why -->
  101. <java classname="@{suite}" fork="on" dir="../@{project}">
  102. <jvmarg line=""/>
  103. <classpath>
  104. <pathelement path="../@{project}/${build.dir}"/>
  105. <pathelement path="../@{project}/${test.build.dir}"/>
  106. <path refid="@{path}"/>
  107. </classpath>
  108. </java>
  109. </sequential>
  110. </macrodef>
  111. <target name="all" depends="init, compile, test:compile"/>
  112. </project>