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.

features.html 3.6 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Language" content="en-us">
  5. <title>Ant2 feature list</title>
  6. </head>
  7. <body>
  8. <h1>Ant2 Goals</h1>
  9. <p>Even though Ant2 is expected to be incompatible with the
  10. current Ant1 series, it still has the same goals. Ant is a Java
  11. based build tool and this remains the main focus of it. The
  12. original goals of simplicity, understandability and extensibility
  13. still stand and Ant2 will try to achieve them even better than
  14. Ant1 does.</p>
  15. <h2>Simplicity and Understandability</h2>
  16. <p>These two goals are closely related. Ant build files shall be
  17. easy to read and understand - at the same time it should be easy
  18. to write a custom Ant task and to use the utility classes that
  19. Ant2 provides.</p>
  20. <p>Ant2 shall be more consistent than Ant1 is - this means:</p>
  21. <ul>
  22. <li>core tasks will use the same attribute names for common
  23. functionality</li>
  24. <li>similar tasks will be unified to use similar forms.</li>
  25. <li>different implementations for the same functionality will be
  26. hidden behind facade tasks.</li>
  27. <li>properties and data types will be unified so that they share
  28. the same namespace and inheritance rules.</li>
  29. </ul>
  30. <p>Furthermore some things will have to become more explicit:</p>
  31. <ul>
  32. <li>remove all magic properties</li>
  33. <li>make build file writers explicitly state which
  34. filters/filtersets a copy task will use</li>
  35. <li>add scoping rules for properties so that not all of them
  36. will be inherited by sub-builds, only those that have been
  37. specified explicitly.</li>
  38. </ul>
  39. <h2>Extensibility</h2>
  40. <p>Ant2 like Ant1 uses build files written in XML as its main
  41. input, but it will not be restricted to it. The core of Ant2 will
  42. work on an object model of Project/Target/Task that is independent
  43. of any external representation.</p>
  44. <p>As an extension of the current <code>&lt;taskdef&gt;</code>
  45. concept, tasks can be bundled into task libraries (together with
  46. data types and other utility classes). These task libraries are
  47. special JAR archives that somehow describe the contained tasks to
  48. Ant. Ant will automatically know all tasks contained in task
  49. libraries that have been placed into a special directory - in
  50. addition task libraries can be referenced and used in a build file
  51. explicitly.</p>
  52. <h1>New/Modified Features</h1>
  53. <p>Ant2 is going to break Ant1 in several ways:</p>
  54. <ul>
  55. <li>Tasks written for Ant1 won't work in Ant2 as the API of
  56. Ant's core and the names of utility classes are going to
  57. change. There will probably be adaptors and utility classes to
  58. ease the transition for task writers.</li>
  59. <li>Build files written for Ant1 will probably not be valid in
  60. Ant2 or at least not yield the same results. It is expected that
  61. Ant2 will come with a tool to translate Ant1 build files into
  62. equivalent Ant2 versions</li>
  63. <li>magic properties like <code>build.compiler</code> may
  64. disappear and be replaced by a different customization
  65. concept.</li>
  66. <li>Ant2 is going to require a JDK version 1.2 or above and a
  67. JAXP compliant parser version 1.1 or above.</li>
  68. </ul>
  69. <h1>Rejected Features</h1>
  70. <hr>
  71. <p align="center">$Id$</p>
  72. <p align="center">Copyright &copy; 2001 Apache Software
  73. Foundation. All rights Reserved.</p>
  74. </body>
  75. </html>