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.

todo.html 11 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <!-- Content Stylesheet for Site -->
  3. <!-- start the processing -->
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
  7. <meta name="author" value="Adam Murdoch">
  8. <meta name="email" value="adammurdoch@apache.org">
  9. <title>Apache Myrmidon - Get Involved</title>
  10. </head>
  11. <body bgcolor="#ffffff" text="#000000" link="#525D76">
  12. <table border="0" width="100%" cellspacing="0">
  13. <!-- TOP IMAGE -->
  14. <tr>
  15. <td colspan="2">
  16. <a href="http://jakarta.apache.org"><img src="http://jakarta.apache.org/images/jakarta-logo.gif" align="left" border="0"/></a>
  17. </td>
  18. </tr>
  19. </table>
  20. <table border="0" width="100%" cellspacing="4">
  21. <tr><td colspan="2">
  22. <hr noshade="" size="1"/>
  23. </td></tr>
  24. <tr>
  25. <!-- LEFT SIDE NAVIGATION -->
  26. <td valign="top" nowrap="true">
  27. <p><strong>Myrmidon</strong></p>
  28. <ul>
  29. <li> <a href="./index.html">Introduction</a>
  30. </li>
  31. <li> <a href="./user.html">User Guide</a>
  32. </li>
  33. <li> <a href="./todo.html">Get Involved</a>
  34. </li>
  35. <li> <a href="./todo.html#Todo List">Todo List</a>
  36. </li>
  37. </ul>
  38. </td>
  39. <td align="left" valign="top">
  40. <table border="0" cellspacing="0" cellpadding="2" width="100%">
  41. <tr><td bgcolor="#525D76">
  42. <font color="#ffffff" face="arial,helvetica,sanserif">
  43. <a name="Get Involved"><strong>Get Involved</strong></a>
  44. </font>
  45. </td></tr>
  46. <tr><td>
  47. <blockquote>
  48. <p>There are plenty of things you can do to help out with Myrmidon. The Todo
  49. list below describes items which still need to be done. Of course, since
  50. this is an open-source project, there's plenty of scope for experimentation,
  51. and you can pretty much make up your own items to work on.</p>
  52. <p>Some things that are worth reading if you do want to get involved:</p>
  53. <ul>
  54. <li>The <a href="http://jakarta.apache.org/ant/ant2/">Ant 2</a> goals and requirements.</li>
  55. <li>The <a href="http://jakarta.apache.org/ant/ant2/actionlist.html">Ant 1.9 Action List</a>.</li>
  56. <li>The Jakarta Project's <a href="http://jakarta.apache.org/site/getinvolved.html">Get Involved</a> page.</li>
  57. </ul>
  58. <p>There is no Ant 2 or Myrmidon mailing list yet, so direct any questions
  59. or comments you have to the ant-dev mailing list.</p>
  60. </blockquote>
  61. </td></tr>
  62. </table>
  63. <table border="0" cellspacing="0" cellpadding="2" width="100%">
  64. <tr><td bgcolor="#525D76">
  65. <font color="#ffffff" face="arial,helvetica,sanserif">
  66. <a name="Todo List"><strong>Todo List</strong></a>
  67. </font>
  68. </td></tr>
  69. <tr><td>
  70. <blockquote>
  71. <p>The broad goal is to grow Myrmidon from a prototype task engine into a fully
  72. fledged build system, that can serve as the basis for Ant 2. The following
  73. sections describe some of the many things which still need to be done to
  74. achieve that goal. This list is currently under construction.</p>
  75. <table border="0" cellspacing="0" cellpadding="2" width="100%">
  76. <tr><td bgcolor="#828DA6">
  77. <font color="#ffffff" face="arial,helvetica,sanserif">
  78. <a name="Self Hosting"><strong>Self Hosting</strong></a>
  79. </font>
  80. </td></tr>
  81. <tr><td>
  82. <blockquote>
  83. <p>Myrmidon must be able to build itself. Currently, it is built using
  84. Ant 1.x. Ultimately, Myrmidon should be able to build itself from exactly the
  85. same build file. To start with, however, there is no need for Myrmidon to be
  86. able to do this. Myrmidon should also be able to be bootstrapped (that is, be
  87. able to be built from scratch, without using Ant 1.x at all).</p>
  88. </blockquote>
  89. </td></tr>
  90. </table>
  91. <table border="0" cellspacing="0" cellpadding="2" width="100%">
  92. <tr><td bgcolor="#828DA6">
  93. <font color="#ffffff" face="arial,helvetica,sanserif">
  94. <a name="Ant 1.x Compatibility"><strong>Ant 1.x Compatibility</strong></a>
  95. </font>
  96. </td></tr>
  97. <tr><td>
  98. <blockquote>
  99. <p>There are 2 parts to this broad topic: Allow Ant 1.x build scripts to be
  100. executed by Myrmidon, and allow Ant 1.x tasks to be executed unmodified
  101. by Myrmidon.</p>
  102. </blockquote>
  103. </td></tr>
  104. </table>
  105. <table border="0" cellspacing="0" cellpadding="2" width="100%">
  106. <tr><td bgcolor="#828DA6">
  107. <font color="#ffffff" face="arial,helvetica,sanserif">
  108. <a name="Virtual File System"><strong>Virtual File System</strong></a>
  109. </font>
  110. </td></tr>
  111. <tr><td>
  112. <blockquote>
  113. <p>The VFS needs plenty of work:</p>
  114. <ul>
  115. <li>Move and copy files/folders.</li>
  116. <li>Search through a file hierarchy, using Ant-style wildcards.</li>
  117. <li>Search through a file hierarchy, using a Selector interface.</li>
  118. <li>The in-memory caching mechanism is pretty rudimentary at this stage.
  119. It needs work to make it size capped. In addition, some mechanism needs
  120. to be provided to release and refresh cached info.
  121. </li>
  122. <li>Capabilities discovery.</li>
  123. <li>Attributes and attribute schema.</li>
  124. <li>File system layering. That is, the ability for a file system to
  125. sit on top of another file system, or a file from another file system
  126. (e.g. Zip/Jar/Tar file systems, gzip/encoding file systems, virtual file
  127. systems).
  128. </li>
  129. </ul>
  130. </blockquote>
  131. </td></tr>
  132. </table>
  133. <table border="0" cellspacing="0" cellpadding="2" width="100%">
  134. <tr><td bgcolor="#828DA6">
  135. <font color="#ffffff" face="arial,helvetica,sanserif">
  136. <a name="Command-line and Configuration Files"><strong>Command-line and Configuration Files</strong></a>
  137. </font>
  138. </td></tr>
  139. <tr><td>
  140. <blockquote>
  141. <p>One of the goals of Ant 2 is to allow the user to easily customise and
  142. extend Ant. The command-line and local configuration files, are two places
  143. where this would be done. Currently, Myrmidon some customisation from the
  144. command-line, but does not support configuration files.</p>
  145. <ul>
  146. <li>Load configuration from system (from $ANT_HOME) and user (from $HOME)
  147. configuration files.</li>
  148. <li>Allow the following via config files:
  149. <ul>
  150. <li>Add (or override) the <code>lib</code> and <code>ext</code> directories.</li>
  151. <li>Enable more than one listener, and configure the listeners from
  152. the conents of the config file.</li>
  153. <li>Import libraries, and set properties.</li>
  154. <li>Execute tasks.</li>
  155. <li>Install and configure runtime services.</li>
  156. </ul>
  157. </li>
  158. </ul>
  159. </blockquote>
  160. </td></tr>
  161. </table>
  162. <table border="0" cellspacing="0" cellpadding="2" width="100%">
  163. <tr><td bgcolor="#828DA6">
  164. <font color="#ffffff" face="arial,helvetica,sanserif">
  165. <a name="Documentation"><strong>Documentation</strong></a>
  166. </font>
  167. </td></tr>
  168. <tr><td>
  169. <blockquote>
  170. <p>Everyone loves writing documentation, and so a goal for Ant 2 is to
  171. generate a lot of reference documentation for tasks and other types directly
  172. from the source. Unfortunately, there's still plenty of tutorial material
  173. to write. In particular we need these:</p>
  174. <ul>
  175. <li>User documentation - describing things like the build file format,
  176. how properties work, how to use references, how sub-builds work, how to customise
  177. Myrmidon, and so on.</li>
  178. <li>Task writer documentation - describing things like an overview the task API,
  179. how configuration works, task lifecycle, how to assemble an antlib, a catalog
  180. of the runtime services, and so on.</li>
  181. <li>Myrmidon developer documentation - a broad outline of the architecture,
  182. how to build, how to test, and so on. Also, this todo list needs plenty
  183. of filling out.</li>
  184. </ul>
  185. </blockquote>
  186. </td></tr>
  187. </table>
  188. <table border="0" cellspacing="0" cellpadding="2" width="100%">
  189. <tr><td bgcolor="#828DA6">
  190. <font color="#ffffff" face="arial,helvetica,sanserif">
  191. <a name="Miscellaneous"><strong>Miscellaneous</strong></a>
  192. </font>
  193. </td></tr>
  194. <tr><td>
  195. <blockquote>
  196. <p>A completely unordered list of items, big and small:</p>
  197. <ul>
  198. <li>Search through the code for 'TODO' items and fix them.</li>
  199. <li>Add a custom task to the build to generate antlib descriptors from source.
  200. It would wrap XDoclet, and replace <code>antlib.xml</code>.</li>
  201. <li>Tidy-up CLIMain so that it calls System.exit() with a non-zero exit code,
  202. if the build fails.</li>
  203. <li>Tidy-up the 'build failed' message, so that the stack trace is only
  204. printed out if the log level is verbose/debug.</li>
  205. <li>Allow service factories to be configured from the contents of the
  206. <code>ant-services.xml</code> descriptor.</li>
  207. <li>Route external process stdout and stderr through the logger.</li>
  208. <li>Add verbosity level to ProjectListener LogEvent</li>
  209. <li>Fire ProjectListener events taskFinished(), targetFinished() and
  210. projectFinished() events on build failure, adding indicator methods to
  211. ProjectEvent.</li>
  212. <li>Fire ProjectListener events projectStarted() and projectFinished()
  213. events on start and finish of referenced projects, adding indicator methods
  214. to ProjectEvent.</li>
  215. <li>Convert PropertyUtil to a non-static PropertyResolver service.</li>
  216. <li>Validate project and target names in DefaultProjectBuilder - reject dodgy
  217. names like "," or "", or " ". Probably want to exclude names that start or
  218. end with white-space (though internal whitespace is probably fine).</li>
  219. <li>Detect duplicate type names.</li>
  220. <li>Add fully qualified type names, based on antlib name and type shorthand name.
  221. Allow these to be used in build files in addition to the shorthand names.</li>
  222. <li>Unit tests.</li>
  223. </ul>
  224. </blockquote>
  225. </td></tr>
  226. </table>
  227. </blockquote>
  228. </td></tr>
  229. </table>
  230. </td>
  231. </tr>
  232. <!-- FOOTER -->
  233. <tr><td colspan="2">
  234. <hr noshade="" size="1"/>
  235. </td></tr>
  236. <tr><td colspan="2">
  237. <div align="center"><font color="#525D76" size="-1"><em>
  238. Copyright &#169; 2000-2002, Apache Software Foundation
  239. </em></font></div>
  240. </td></tr>
  241. </table>
  242. </body>
  243. </html>
  244. <!-- end the processing -->