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.

requested-features.txt 4.5 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. Brainstormed and unordered list of requested features of Ant2:
  2. * namespace support so different concerns can occupy different namespaces
  3. from ant (thus SAX2/JAXP1.1)
  4. * Java2
  5. * The ability for GUI/IDE tools to integrate easily with object model
  6. without reinventing the wheel and writing their own parser (which
  7. antidote was forced to do). Two suggested solutions were allowing GUI
  8. developers to extend object model (ie GUITask extends Task) or to have
  9. Task as interface (ie GUITask implements Task). This way the GUI tasks
  10. could be W3C DOM Elements, have property vetoers/listeners etc.
  11. * Fully interpreted at runtime. This almost requires some form of
  12. abstraction/proxy that stands in place of tasks till it is
  13. interpreted. This can be hashtables/simple dom-like model/whatever
  14. * provide utility classes to aid in building tasks. ie like up-to-date
  15. functionality abstracted
  16. * make ant-call a low cost operations so it can certain
  17. optional/template-like operations
  18. * allow facilities to build projects from multiple sources. ie CSS+xml
  19. or XSLT+ XML or database or from inside jars or normal build.xmls
  20. etc.
  21. * remove magic properties if at all humanly possible
  22. * make all tasks consistent and remove all deprecated methods
  23. * move to a system that allows docs to be generated - doc snippets
  24. should be included with the tasks they document.
  25. * allow documentation to be stored in .tsk jars
  26. * allow tasks to be loaded from jars. tasks should be indicated by
  27. either xml file in TSK-INF/taskdefs.xml or manifest file.
  28. * remove as much dependency on native scripts as possible.
  29. * clean object model (ie Project/Target/Task)
  30. * good event model to integrate well with IDE/GUI/whatever
  31. * better scripting/notification support so the hooks are available to
  32. send notifications at certain times.
  33. * allow all datatypes to be defined anywhere
  34. * make usage of particular filters/filtersets explicit in copy tasks
  35. * make facade tasks for things like javac (JikesImpl, ModernImpl etc)
  36. * seperate tasks into .tsk jars somehow. (Probably via function - ie
  37. java tasks, file tasks, ejb tasks).
  38. * unify multiple similar tasks to use similar forms (ie all the javacc
  39. type tools)
  40. * support for numerous frontends - from command line over GUI to servlets
  41. * make properties fully dynamic, i.e. allow their value to be reassigned
  42. Now there is a bunch of "controvertial" points. By controvertial I mean not
  43. everyone agrees or else there has not been enough comments to to judge
  44. reception
  45. * unify the namespace of all data types (ie properties + filesets +
  46. patternset + filtersets).
  47. * provide datatypes through property tag and remove need for seperate free
  48. standing entities. ie
  49. <property name="foo">
  50. <fileset dir="blah">
  51. <include name="*/**.java" />
  52. </fileset>
  53. </property>
  54. * make it possible to reuse taskengine for other things. ie
  55. Installshield type app, my cron-server and other task based
  56. operations. Currently no committer other than me has expressed
  57. positive or negative thoughts about this
  58. * make separate build files easy (ala AntFarm) and importing different
  59. projects a breeze
  60. * create the concept of workspace so that projects can be built in a
  61. DAG and thus enable projects like catalina/tomcat to have an easy
  62. build process. It also helps CJAN to a lesser degree and would
  63. partially solve the JARs in CVS thing.
  64. * provide support for CJAN
  65. * provide support for non-hardwired (ie loadable) converters.
  66. * provide support for non-hardwired (ie loadable) datatypes.
  67. * generate docs by anakia/XSLT
  68. * provide support for user defined task configurations - i.e. give
  69. users the ability to specify a default value for attributes (always
  70. use debug="true" in <javac> unless something else has been
  71. specified). Could be a CSS like language, could be a <taskconfig>
  72. element ...
  73. * support more control over the properties that are going to be passed
  74. to subprojects (modules)
  75. * keep build file syntax as compatible to Ant1 as possible -
  76. i.e. don't break something just because we can.
  77. * keep the interface for Tasks as similar to the one of Ant1 as
  78. possible - i.e. don't break something just because we can.
  79. * tasks provide some way to identify their attributes from the
  80. outside. Possible solutions include a special method like
  81. getProperties(), an external describing file shipping with the task
  82. class or special javadoc comments parsed by a custom doclet.