You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

build.xml 19 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504
  1. <?xml version="1.0" ?>
  2. <project name="xdocs" default="default">
  3. <!--
  4. Give user a chance to override without editing this file
  5. (and without typing -D each time)
  6. -->
  7. <property file="${user.home}/.${ant.project.name}.properties"/>
  8. <property name="src.root"
  9. location="../../src/main"/>
  10. <property name="docs.src"
  11. location="../../xdocs"/>
  12. <property name="build.dir" location="build"/>
  13. <property name="gen.dir" location="${build.dir}/gen"/>
  14. <property name="ant.package" value="org/apache/tools/ant"/>
  15. <property name="optional.package" value="${ant.package}/taskdefs/optional"/>
  16. <property name="optional.type.package" value="${ant.package}/types/optional"/>
  17. <property name="apache.resolver.type.package" value="${ant.package}/types/resolver"/>
  18. <property name="util.package" value="${ant.package}/util"/>
  19. <property name="regexp.package" value="${util.package}/regexp"/>
  20. <path id="classpath">
  21. </path>
  22. <!-- depends on JDK version -->
  23. <selector id="needs.jdk1.2+">
  24. <or>
  25. <filename name="${util.package}/optional/WeakishReference12*"/>
  26. <filename name="${optional.package}/extension/**"/>
  27. <filename name="${util.package}/optional/NoExitSecurityManager*"/>
  28. <filename name="${optional.package}/Javah*"/>
  29. <filename name="${optional.package}/metamata/*"/>
  30. <filename name="${optional.package}/ejb/EjbJar*"/>
  31. <filename name="${optional.package}/ejb/*DeploymentTool*"/>
  32. <filename name="${optional.package}/ejb/IPlanet*"/>
  33. <filename name="${optional.package}/ejb/Borland*"/>
  34. <filename name="${optional.package}/j2ee/*"/>
  35. <!-- uses the context classloader -->
  36. <filename name="${optional.package}/junit/JUnitClassLoaderTest*"/>
  37. <!-- use various 1.2 methods -->
  38. <filename name="${optional.package}/sitraka/**"/>
  39. <filename name="${optional.package}/ide/VAJ*"/>
  40. <filename name="${optional.package}/starteam/*"/>
  41. </or>
  42. </selector>
  43. <selector id="needs.jdk1.3+">
  44. <or>
  45. <filename name="${ant.package}/taskdefs/TestProcess*"/>
  46. <filename name="${optional.package}/extension/**"/>
  47. </or>
  48. </selector>
  49. <selector id="needs.jdk1.4+">
  50. <filename name="${regexp.package}/Jdk14Regexp*"/>
  51. </selector>
  52. <!-- classes that should be present in Sun based JVMs, but not in
  53. Kaffe for example -->
  54. <selector id="needs.sun.tools">
  55. <or>
  56. <filename name="${optional.package}/Native2Ascii*"/>
  57. <filename name="${optional.package}/Javah*"/>
  58. </or>
  59. </selector>
  60. <selector id="needs.sun.uue">
  61. <filename name="${ant.package}/taskdefs/email/UUMailer*"/>
  62. </selector>
  63. <selector id="needs.sun.b64">
  64. <or>
  65. <filename name="${ant.package}/taskdefs/Get*"/>
  66. <filename name="${optional.package}/splash/SplashTask*"/>
  67. </or>
  68. </selector>
  69. <selector id="needs.trax">
  70. <or>
  71. <filename name="${optional.package}/TraXLiaison*"/>
  72. <filename name="${optional.package}/sitraka/**"/>
  73. <filename name="${optional.package}/metamata/MMetrics*"/>
  74. <filename name="${optional.package}/XsltTest*"/>
  75. <filename name="${ant.package}/types/XMLCatalogBuildFileTest*"/>
  76. </or>
  77. </selector>
  78. <selector id="needs.xalan1">
  79. <or>
  80. <filename name="${optional.package}/XalanLiaison*"/>
  81. <filename name="${optional.package}/junit/Xalan1Executor*"/>
  82. </or>
  83. </selector>
  84. <selector id="needs.xalan2">
  85. <filename name="${optional.package}/junit/Xalan2Executor*"/>
  86. </selector>
  87. <selector id="needs.xslp">
  88. <filename name="${optional.package}/XslpLiaison*"/>
  89. </selector>
  90. <selector id="needs.apache.resolver">
  91. <filename name="${apache.resolver.type.package}/**"/>
  92. </selector>
  93. <selector id="needs.junit">
  94. <filename name="${optional.package}/junit/**"/>
  95. </selector>
  96. <selector id="needs.jakarta.regexp">
  97. <filename name="${regexp.package}/JakartaRegexp*"/>
  98. </selector>
  99. <selector id="needs.jakarta.oro">
  100. <or>
  101. <filename name="${regexp.package}/JakartaOro*"/>
  102. <filename name="${optional.package}/perforce/*"/>
  103. <filename name="${optional.package}/metamata/MAudit*"/>
  104. </or>
  105. </selector>
  106. <selector id="needs.jakarta.bcel">
  107. <or>
  108. <filename name="${ant.package}/filters/util/JavaClassHelper*"/>
  109. <filename name="${util.package}/depend/bcel/*"/>
  110. <filename name="${optional.type.package}/depend/ClassFileSetTest*"/>
  111. </or>
  112. </selector>
  113. <selector id="needs.jakarta.log4j">
  114. <filename name="${ant.package}/listener/Log4jListener*"/>
  115. </selector>
  116. <selector id="needs.commons.logging">
  117. <filename name="${ant.package}/listener/CommonsLoggingListener*"/>
  118. </selector>
  119. <selector id="needs.bsf">
  120. <filename name="${optional.package}/Script*"/>
  121. </selector>
  122. <selector id="needs.stylebook">
  123. <filename name="${optional.package}/StyleBook*"/>
  124. </selector>
  125. <selector id="needs.javamail">
  126. <filename name="${ant.package}/taskdefs/email/MimeMailer*"/>
  127. </selector>
  128. <selector id="needs.icontract">
  129. <filename name="${optional.package}/IContract*"/>
  130. </selector>
  131. <selector id="needs.netrexx">
  132. <filename name="${optional.package}/NetRexxC*"/>
  133. </selector>
  134. <selector id="needs.weblogic.ejbc">
  135. <filename name="${optional.package}/ejb/Ejbc*"/>
  136. </selector>
  137. <selector id="needs.weblogic.ddcreator">
  138. <filename name="${optional.package}/ejb/DDCreator*"/>
  139. </selector>
  140. <selector id="needs.weblogic.server">
  141. <or>
  142. <filename name="${optional.package}/ejb/WLRun*"/>
  143. <filename name="${optional.package}/ejb/WLStop*"/>
  144. </or>
  145. </selector>
  146. <selector id="needs.netcomponents">
  147. <or>
  148. <filename name="${optional.package}/net/FTP*"/>
  149. <filename name="${optional.package}/net/TelnetTask*"/>
  150. </or>
  151. </selector>
  152. <selector id="needs.starteam">
  153. <or>
  154. <filename name="${optional.package}/scm/AntStarTeam*"/>
  155. <filename name="${optional.package}/starteam/*"/>
  156. </or>
  157. </selector>
  158. <selector id="needs.vaj">
  159. <filename name="${optional.package}/ide/VAJ*"/>
  160. </selector>
  161. <selector id="needs.antlr">
  162. <filename name="${optional.package}/ANTLR*"/>
  163. </selector>
  164. <selector id="needs.servletapi">
  165. <filename name="${optional.package}/ide/VAJ*Servlet*"/>
  166. </selector>
  167. <selector id="needs.jmf">
  168. <filename name="${optional.package}/sound/*"/>
  169. </selector>
  170. <selector id="needs.jai">
  171. <or>
  172. <filename name="${optional.package}/image/*"/>
  173. <filename name="${ant.package}/types/optional/image/*"/>
  174. </or>
  175. </selector>
  176. <selector id="needs.jdepend">
  177. <filename name="${optional.package}/jdepend/*"/>
  178. </selector>
  179. <selector id="needs.swing">
  180. <filename name="${optional.package}/splash/*"/>
  181. </selector>
  182. <selector id="needs.jsch">
  183. <filename name="${optional.package}/ssh/*"/>
  184. </selector>
  185. <available property="jdk1.2+" classname="java.lang.ThreadLocal"/>
  186. <available property="jdk1.3+" classname="java.lang.StrictMath"/>
  187. <available property="jdk1.4+" classname="java.lang.CharSequence"/>
  188. <available property="kaffe" classname="kaffe.util.NotImplemented"/>
  189. <available property="bsf.present"
  190. classname="org.apache.bsf.BSFManager"
  191. classpathref="classpath"/>
  192. <condition property="netrexx.present">
  193. <and>
  194. <isset property="jdk1.2+"/>
  195. <available classname="netrexx.lang.Rexx"
  196. classpathref="classpath"/>
  197. </and>
  198. </condition>
  199. <available property="trax.present"
  200. classname="javax.xml.transform.Transformer"
  201. classpathref="classpath"/>
  202. <condition property="trax.impl.present">
  203. <or>
  204. <and>
  205. <isset property="javax.xml.transform.TransformerFactory"/>
  206. <available classname="${javax.xml.transform.TransformerFactory}"
  207. classpathref="classpath"/>
  208. </and>
  209. <available resource="META-INF/services/javax.xml.transform.TransformerFactory"/>
  210. </or>
  211. </condition>
  212. <available property="xslp.present"
  213. classname="com.kvisco.xsl.XSLProcessor"
  214. classpathref="classpath"/>
  215. <available property="apache.resolver.present"
  216. classname="org.apache.xml.resolver.tools.CatalogResolver"
  217. classpathref="classpath" />
  218. <available property="xalan.present"
  219. classname="org.apache.xalan.xslt.XSLTProcessorFactory"
  220. classpathref="classpath"/>
  221. <available property="xalan2.present"
  222. classname="org.apache.xalan.transformer.TransformerImpl"
  223. classpathref="classpath"/>
  224. <available property="ejb.ejbc.present"
  225. classname="weblogic.ejbc"
  226. classpathref="classpath"/>
  227. <available property="ejb.DDCreator.present"
  228. classname="weblogic.ejb.utils.DDCreator"
  229. classpathref="classpath"/>
  230. <available property="ejb.wls.present"
  231. classname="weblogic.Server"
  232. classpathref="classpath"/>
  233. <available property="junit.present"
  234. classname="junit.framework.TestCase"
  235. classpathref="classpath"/>
  236. <available property="netcomp.present"
  237. classname="com.oroinc.net.ftp.FTPClient"
  238. classpathref="classpath"/>
  239. <available property="starteam.present"
  240. classname="com.starbase.util.Platform"
  241. classpathref="classpath"/>
  242. <available property="antlr.present"
  243. classname="antlr.Tool"
  244. classpathref="classpath"/>
  245. <available property="vaj.present"
  246. classname="com.ibm.ivj.util.base.Workspace"
  247. classpathref="classpath"/>
  248. <available property="stylebook.present"
  249. classname="org.apache.stylebook.Engine"
  250. classpathref="classpath"/>
  251. <available property="jakarta.regexp.present"
  252. classname="org.apache.regexp.RE"
  253. classpathref="classpath"/>
  254. <available property="jakarta.oro.present"
  255. classname="org.apache.oro.text.regex.Perl5Matcher"
  256. classpathref="classpath"/>
  257. <available property="jmf.present"
  258. classname="javax.sound.sampled.Clip"
  259. classpathref="classpath"/>
  260. <available property="jai.present"
  261. classname="javax.media.jai.JAI"
  262. classpathref="classpath"/>
  263. <condition property="icontract.present">
  264. <and>
  265. <isset property="jdk1.2+"/>
  266. <available classname="com.reliablesystems.iContract.IContracted"
  267. classpathref="classpath"/>
  268. </and>
  269. </condition>
  270. <available property="jdepend.present"
  271. classname="jdepend.framework.JDepend"
  272. classpathref="classpath"/>
  273. <available property="log4j.present"
  274. classname="org.apache.log4j.Category"
  275. classpathref="classpath"/>
  276. <available property="commons.logging.present"
  277. classname="org.apache.commons.logging.LogFactory"
  278. classpathref="classpath"/>
  279. <available property="xalan.envcheck"
  280. classname="org.apache.xalan.xslt.EnvironmentCheck"
  281. classpathref="classpath"/>
  282. <available property="which.present"
  283. classname="org.apache.env.Which"
  284. classpathref="classpath"/>
  285. <available property="servlet.present"
  286. classname="javax.servlet.Servlet"
  287. classpathref="classpath"/>
  288. <available property="xerces.present"
  289. classname="org.apache.xerces.parsers.SAXParser"
  290. classpathref="classpath"/>
  291. <condition property="bcel.present">
  292. <and>
  293. <isset property="jdk1.2+"/>
  294. <available classname="org.apache.bcel.Constants"
  295. classpathref="classpath"/>
  296. </and>
  297. </condition>
  298. <available property="sunuue.present"
  299. classname="sun.misc.UUEncoder"
  300. classpathref="classpath"/>
  301. <condition property="javamail.complete">
  302. <and>
  303. <available classname="javax.activation.DataHandler"
  304. classpathref="classpath"/>
  305. <available classname="javax.mail.Transport"
  306. classpathref="classpath"/>
  307. </and>
  308. </condition>
  309. <condition property="some.regexp.support">
  310. <or>
  311. <isset property="jdk1.4+"/>
  312. <isset property="jakarta.regexp.present"/>
  313. <isset property="jakarta.oro.present"/>
  314. </or>
  315. </condition>
  316. <condition property="sun.tools.present">
  317. <and>
  318. <available classname="sun.tools.native2ascii.Main"/>
  319. <available classname="com.sun.tools.javah.Main"/>
  320. </and>
  321. </condition>
  322. <available property="base64.present" classname="sun.misc.BASE64Encoder"/>
  323. <condition property="jasper.present">
  324. <and>
  325. <available classname="org.apache.jasper.compiler.Compiler"/>
  326. <available classname="org.apache.jasper.JasperException"/>
  327. </and>
  328. </condition>
  329. <condition property="swing.present">
  330. <or>
  331. <and>
  332. <isset property="jdk1.2+"/>
  333. <not>
  334. <isset property="kaffe"/>
  335. </not>
  336. </and>
  337. <available classname="javax.swing.ImageIcon"
  338. classpathref="classpath"/>
  339. </or>
  340. </condition>
  341. <available property="rhino.present"
  342. classname="org.mozilla.javascript.Scriptable"
  343. classpathref="classpath"/>
  344. <available property="beanshell.present"
  345. classname="bsh.StringUtil"
  346. classpathref="classpath"/>
  347. <available property="jsch.present"
  348. classname="com.jcraft.jsch.Session"
  349. classpathref="classpath"/>
  350. <path id="xdoclet.classpath">
  351. <path>
  352. <fileset dir="lib" includes="*.jar"/>
  353. </path>
  354. <path>
  355. <fileset dir="${ant.home}/lib" includes="*.jar"/>
  356. </path>
  357. </path>
  358. <target name="init">
  359. <mkdir dir="${build.dir}" />
  360. <mkdir dir="${gen.dir}" />
  361. <echoproperties/>
  362. </target>
  363. <target name="clean">
  364. <delete dir="${build.dir}"/>
  365. <delete dir="${gen.dir}"/>
  366. </target>
  367. <target name="gen" depends="package">
  368. <taskdef name="antdoclet"
  369. classname="org.apache.ant.xdoclet.AntDocletTask">
  370. <classpath>
  371. <path refid="xdoclet.classpath"/>
  372. <pathelement location="${build.dir}/classes"/>
  373. </classpath>
  374. </taskdef>
  375. <antdoclet destdir="${gen.dir}"
  376. excludedtags="@version,@author"
  377. force="${xdoclet.force}"
  378. mergedir="src">
  379. <fileset dir="${src.root}">
  380. <selector id="conditional-patterns">
  381. <not>
  382. <or>
  383. <selector refid="needs.jdk1.2+" unless="jdk1.2+"/>
  384. <selector refid="needs.jdk1.3+" unless="jdk1.3+"/>
  385. <selector refid="needs.jdk1.4+" unless="jdk1.4+"/>
  386. <selector refid="needs.sun.tools" unless="sun.tools.present"/>
  387. <selector refid="needs.sun.uue" unless="sunuue.present"/>
  388. <selector refid="needs.sun.b64" unless="base64.present"/>
  389. <selector refid="needs.trax" unless="trax.present"/>
  390. <selector refid="needs.xalan1" unless="xalan.present"/>
  391. <selector refid="needs.xalan2" unless="xalan2.present"/>
  392. <selector refid="needs.xslp" unless="xslp.present"/>
  393. <selector refid="needs.apache.resolver" unless="apache.resolver.present"/>
  394. <selector refid="needs.junit" unless="junit.present"/>
  395. <selector refid="needs.jakarta.regexp"
  396. unless="jakarta.regexp.present"/>
  397. <selector refid="needs.jakarta.oro" unless="jakarta.oro.present"/>
  398. <selector refid="needs.jakarta.bcel" unless="bcel.present"/>
  399. <selector refid="needs.jakarta.log4j" unless="log4j.present"/>
  400. <selector refid="needs.commons.logging"
  401. unless="commons.logging.present"/>
  402. <selector refid="needs.bsf" unless="bsf.present"/>
  403. <selector refid="needs.stylebook" unless="stylebook.present"/>
  404. <selector refid="needs.javamail" unless="javamail.complete"/>
  405. <selector refid="needs.icontract" unless="icontract.present"/>
  406. <selector refid="needs.netrexx" unless="netrexx.present"/>
  407. <selector refid="needs.weblogic.ejbc" unless="ejb.ejbc.present"/>
  408. <selector refid="needs.weblogic.ddcreator"
  409. unless="ejb.DDCreator.present"/>
  410. <selector refid="needs.weblogic.server" unless="ejb.wls.present"/>
  411. <selector refid="needs.netcomponents" unless="netcomp.present"/>
  412. <selector refid="needs.starteam" unless="starteam.present"/>
  413. <selector refid="needs.vaj" unless="vaj.present"/>
  414. <selector refid="needs.antlr" unless="antlr.present"/>
  415. <selector refid="needs.servletapi" unless="servlet.present"/>
  416. <selector refid="needs.jmf" unless="jmf.present"/>
  417. <selector refid="needs.jai" unless="jai.present"/>
  418. <selector refid="needs.jdepend" unless="jdepend.present"/>
  419. <selector refid="needs.swing" unless="swing.present"/>
  420. <selector refid="needs.jsch" unless="jsch.present"/>
  421. </or>
  422. </not>
  423. </selector>
  424. </fileset>
  425. <taskdescriptor/>
  426. <!-- <taskdefproperties/> -->
  427. </antdoclet>
  428. </target>
  429. <target name="docs"> <!-- depends="gen" -->
  430. <mkdir dir="${build.dir}/docs" />
  431. <!-- Copy stuff so things are in the correct relative location. -->
  432. <copy todir="${build.dir}/docs">
  433. <fileset dir="${basedir}/../../docs" includes="artwork/**" />
  434. </copy>
  435. <mkdir dir="${basedir}/xdocs" />
  436. <copy todir="${basedir}/xdocs">
  437. <fileset dir="${docs.src}" includes="stylesheets/project.xml" />
  438. </copy>
  439. <!-- Generate HTML using DVSL -->
  440. <ant dir="dvsl"/>
  441. </target>
  442. <target name="compile" depends="init">
  443. <mkdir dir="${build.dir}/classes"/>
  444. <javac destdir="${build.dir}/classes"
  445. srcdir="src"
  446. deprecation="on"
  447. debug="true"
  448. classpathref="xdoclet.classpath"
  449. />
  450. </target>
  451. <target name="package" depends="compile">
  452. <!-- <jar destfile="${build.dir}/xdoclet-ant.jar">
  453. <fileset dir="${build.dir}/classes"/>
  454. <metainf dir="metadata" includes="xdoclet.xml"/>
  455. <fileset dir="src" includes="**/*.xdt"/>
  456. </jar> -->
  457. <mkdir dir="${build.dir}/classes/META-INF"/>
  458. <copy todir="${build.dir}/classes/META-INF">
  459. <fileset dir="metadata"/>
  460. </copy>
  461. <copy todir="${build.dir}/classes">
  462. <fileset dir="src" includes="**/*.xdt"/>
  463. </copy>
  464. </target>
  465. <target name="indexgen" depends="compile">
  466. <taskdef name="indexgen"
  467. classpath="${build.dir}/classes"
  468. classname="org.apache.ant.xdoclet.IndexGen"
  469. />
  470. <indexgen rootdir="${build.dir}/docs/manual"/>
  471. </target>
  472. <target name="docs-from-scratch" depends="clean,gen,docs,indexgen"/>
  473. <target name="default" depends="gen"/>
  474. </project>