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 18 kB

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