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

README-166.html 5.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
  2. <html> <head>
  3. <title>AspectJ 1.6.6 Readme</title>
  4. <style type="text/css">
  5. <!--
  6. P { margin-left: 20px; }
  7. PRE { margin-left: 20px; }
  8. LI { margin-left: 20px; }
  9. H4 { margin-left: 20px; }
  10. H3 { margin-left: 10px; }
  11. -->
  12. </style>
  13. </head>
  14. <body>
  15. <div align="right"><small>
  16. &copy; Copyright 2009 Contributors.
  17. All rights reserved.
  18. </small></div>
  19. <h1>AspectJ 1.6.6 Readme</h1>
  20. <a name="bugsfixed"/>
  21. <h4>Bugs fixed</h4>
  22. <p>The complete list of issues resolved for AspectJ 1.6.6 can be found with
  23. this bugzilla query:
  24. <ul>
  25. <li><a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=AspectJ&target_milestone=1.6.6&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">Bugs resolved</a>
  26. </ul>
  27. <hr>
  28. <h2>Changes</h2>
  29. <p><b>Java5</b></p>
  30. <p>The features of Java5 (generics, autoboxing, covariance, etc) are being exploited in the AspectJ codebase. This does not in
  31. any way change the generated code or supported source code, or the dependencies that code has, but it *does* mean that AspectJ
  32. requires Java5 in order to run. The ability to use typed collections has already flushed out a few issues within the codebase,
  33. improving the quality of AspectJ.</p>
  34. <!--
  35. <br>
  36. <p><b>Supporting aop.xml for batch or IDE compilation</b></p>
  37. <p>This is a new feature, not totally complete, but in a usable state. The idea here is to make it easier for users to
  38. develop the aop.xml configuration files that will later be used for load-time weaving. If these files are supported for configuring
  39. compile time weaving (batch or IDE) then they can be developed alongside the codebase against which they will be used.</p>
  40. <p>The work-in-progress enhancement is <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=124460">https://bugs.eclipse.org/bugs/show_bug.cgi?id=124460</a>.
  41. AspectJ 1.6.6 supports the inclusion of xml files on the command line:</p>
  42. <pre><code>ajc Foo.aj -xmlConfigured myaop.xml</code></pre>
  43. <p>or through iajc. Within the iajc task include a section like this:</p>
  44. <pre><code>&lt;inxml&gt;
  45. &lt;pathelement="myaop.xml"/&gt;
  46. &lt;/inxml&gt;
  47. </code></pre>
  48. <p>The compiler does not yet support concrete-aspect definitions made in these xml files, but it should respect
  49. include/exclude patterns. It is a work in progress, please provide feedback! Under AJDT there is a configuration page for aop.xml
  50. files to be included in a build under ProjectProperties>AspectJBuild>aop.xml management. Incremental builds based on changes to
  51. these files is not yet supported. IMPORTANT: When switching to using aop.xml files to control compilation, the entire compiler for
  52. that project switches into the same mode as you would see when load-time weaving. What does this mean? It means aspects are
  53. opt-in rather than opt-out - if you want an aspect to weave your code, you must define it in an aop.xml file.</p>
  54. <br>
  55. <p><b>Aspect scoping in aop.xml</b></p>
  56. <p>This is related to the previous topic. When a user declares an aspect in an aop.xml they can now specify a scope where it
  57. should apply. This enables the aspect developer to have some degree of control over where the aspect can be applied, in addition
  58. to what they may have captured in pointcuts within the defined aspect.</p>
  59. <p>Here is an example:</p>
  60. <pre><code>
  61. &lt;aspectj&gt;
  62. &lt;aspects&gt;
  63. &lt;aspect name="A" scope="B*"/&gt;
  64. &lt;!-- &lt;aspect name="A2"/&gt; --&gt;
  65. &lt;/aspects&gt;
  66. &lt;/aspectj&gt;
  67. </code></pre>
  68. <p>This XML defines the aspect A but limits where it can be applied to types matching the pattern B*. It is still a work in
  69. progress so scopes are only supported at compile time right now, not load-time. Any feedback appreciated. Yes, it may look like
  70. just another way to specify the weaver section include/exclude patterns - but the intention of scope is that it would be set
  71. by the aspect developer (aspect library provider) whilst the weaver section would be defined by the aspect consumer.</p>
  72. -->
  73. <br>
  74. <p><b>Closing streams</b></p>
  75. <p>Some routes through AspectJ were leaving inputstreams open and this has now been fixed. For example if supplying a user
  76. written configuration file for Lint options. Thanks to Michael Pradel for supplying patches to fix these issues.</p>
  77. <br>
  78. <p><b>Concurrency (281654)</b></p>
  79. <p>Fix to address a problem seen when using the weaver in a highly concurrent environment. Thanks to Kristian Rosenvold for
  80. the patch.</p>
  81. <br>
  82. <p><b>Incremental compilation</b></p>
  83. <p>A few fixes to problems seen only on incremental builds, problem areas included:</p><ul>
  84. <li>problems when fully qualifying the target type in an intertype declaration (269652)
  85. <li>problems when using annotation style pointcuts and reference pointcuts together (286341)
  86. </ul>
  87. <br>
  88. <p><b>JavadocRunner in NetBeans</b></p>
  89. <p>Fixed by a patch from Joseph A. Levin - thanks!</p>
  90. <br>
  91. <p><b>Various fixes/enhancements to the structure model to fix issues with feedback on weaving in AJDT</b></p>
  92. <h4>
  93. <!-- ============================== -->
  94. </body>
  95. </html>