| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <link rel="STYLESHEET" href="http://www.eclipse.org/default_style.css" charset="ISO-8859-1" type="text/css"> |
| <title>AJDT 1.2.0 M3 - New and Noteworthy</title> |
| </head> |
| |
| <body> |
| <h1>AJDT 1.2.0 M3 - New and Noteworthy</h1> |
| |
| <table border="0" cellpadding="10" cellspacing="0" width="80%"> |
| |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| |
| <tr> |
| <td width="30%" valign="top" align="left"> |
| <p align="right"><b>Overview</b></td> |
| <td width="70%" valign="top"> |
| |
| <p>In addition to supporting the latest AspectJ 5 milestone release, |
| the focus is still very |
| much on working with the rest of Eclipse, and the JDT in |
| particular, instead of trying to change its default behaviour. This |
| means the best arrangement is to only put plain Java code in .java files |
| using the Java editor, and to use .aj files and the AspectJ editor for |
| everything else. Furthermore, the structure of the current document |
| (whether it's a .java or .aj file) is |
| consistently shown in the standard Outline view, and the additional |
| crosscutting information is shown alongside this in the new Cross |
| References view.</p> |
| |
| <p>Being a milestone release, this is a work in progress, but |
| feedback on these changes is very welcome. The newsgroup and |
| mailing lists are the best places for this.</p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| |
| <tr> |
| <td width="30%" valign="top" align="left"> |
| <p align="right"><b>Quick Cross References</b></td> |
| <td width="70%" valign="top"> |
| |
| <p>This view, which was introduced in M2, is now also available |
| in-place, like the quick outline.</p> |
| |
| <img src="quickxref.png" width="434" height="332"> |
| |
| <p>The default key binding to show this view is |
| "Ctrl+Alt+X". This can be customized via Preferences > |
| Workbench > Keys. Pressing the key combination once shows you |
| the crosscutting information for the current element, pressing |
| it a second time will show the crosscutting information for the |
| entire file.</p> |
| |
| <p>Various other improvements and fixes have been made to the |
| Cross References view, including the addition of a toggle |
| button to show the crosscutting information for the |
| entire file, instead of only for the current element.</p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| |
| <tr> |
| <td width="30%" valign="top" align="left"> |
| <p align="right"><b>Errors as you type</b></td> |
| |
| <td width="70%" valign="top"> |
| <p>Return of the red squiggles! Early problem indication has |
| typically been turned off when working with AJDT because the |
| Java eager parser doesn't understand AspectJ syntax. But now it |
| can be turned back on if desired, because aspects contained in |
| .aj files and opened with the AspectJ editor can now make use of |
| an AspectJ eager parser to highlight syntax problems as you |
| type. |
| </p> |
| |
| <img src="errorsasyoutype.png" width="434" height="99"> |
| |
| <p>The AspectJ early problem indication support is enabled and |
| disabled using the same option as the Java support. With Eclipse |
| 3.0 this option is <b>Preferences > Java > Editor > |
| Typing > Analyze annotations while typing,</b> and with |
| Eclipse 3.1, it's <b>Preferences > Java > Editor > |
| Typing > Other settings > Report problems as you |
| type.</b></p> |
| |
| </td> |
| </tr> |
| |
| <tr> |
| <td colspan="2"> |
| <hr> |
| |
| </td> |
| </tr> |
| |
| <tr> |
| <td width="30%" valign="top" align="left"> |
| <p align="right"><b>Visible Project options</b></td> |
| <td width="70%" valign="top"> |
| |
| <p>Project-specific AspectJ compiler options and other project |
| settings are now saved in preference files under a ".settings" |
| folder in the project. This enables the settings to be shared |
| between workspaces and other developers, by committing the preference |
| files to CVS. The mechanism used is the same as for Java compiler |
| settings in Eclipse 3.1, although the AJDT behaviour is the same |
| across Eclipse 3.0 and 3.1.</p> |
| |
| <p>The ".settings" folder is only created when required. If you |
| define project-specific AspectJ compiler settings, they will be |
| stored in a file called "org.eclipse.ajdt.core.prefs". Other |
| project settings, such as aspect-path and in-path will be stored |
| in a "org.eclipse.ajdt.ui.prefs" file. These files are for |
| sharing settings, they are not designed to be edited by hand - |
| any such edits are likely to be overwritten.</p> |
| </tr> |
| |
| |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| |
| <tr> |
| <td width="30%" valign="top" align="left"> |
| <p align="right"><b>Toolbar shortcuts</b></td> |
| <td width="70%" valign="top"> |
| |
| <p>Shortcuts have been added to the toolbar to open the New AspectJ Project wizard, |
| and the New Aspect wizard (in the New Type dropdown).</p> |
| |
| <img src="toolbar.png" width="310" height="126"> |
| |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td colspan="2"> |
| <hr> |
| |
| </td> |
| </tr> |
| |
| <tr> |
| <td width="30%" valign="top" align="left"> |
| <p align="right"><b>Incremental compilation</b></td> |
| <td width="70%" valign="top"> |
| |
| <p>Incremental compilation is now set as the default mode of |
| operation. Both the generated class files and the structure |
| model (used to display the advice markers, and populate the |
| cross references view and visualiser etc) should be |
| incrementally updated as required. Work has also been done to |
| improve the performance of incremental builds, particularly in |
| the case of simple changes to classes. The main remaining |
| limitation relates to project dependencies - an incremental |
| build of one project will trigger a <b>full</b> build of |
| dependent projects (because it doesn't know what has changed in |
| the first project). The only workaround for now is to close the |
| dependent projects, so that you get fast incremental builds of |
| the one project you are currently working on.</p> |
| |
| </tr> |
| |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| |
| <tr> |
| <td width="30%" valign="top" align="left"> |
| <p align="right"><b>Updated project wizard</b></td> |
| <td width="70%" valign="top"> |
| |
| <p>The "New AspectJ Project" wizard has been updated to match |
| the current appearance and functionality of the wizard which |
| creates new Java projects. This includes the option to create |
| separate source and output folders.</p> |
| |
| <img src="newproject.png" width="366" height="461"> |
| |
| </td> |
| </tr> |
| |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| |
| <tr> |
| <td width="30%" valign="top" align="left"> |
| <p align="right"><b>Plugin builds</b></td> |
| <td width="70%" valign="top"> |
| |
| <p>If you have an AspectJ plug-in project, you can now generate |
| a build.xml file that can build the project correctly, using the |
| <code>iajc</code> ant task. This operation is available by |
| right-clicking on your plugin.xml file and selecting <b>PDE |
| tools > Create Ant Build File with AspectJ support.</b></p> |
| |
| </td> |
| </tr> |
| |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| |
| <tr> |
| <td width="30%" valign="top" align="left"> |
| <p align="right"><b>AspectJ 5 M2</b></td> |
| <td width="70%" valign="top"> |
| |
| <p>The second milestone release of AspectJ 5 is included, with all the |
| accompanying documentation available in the Eclipse help system, including |
| the latest version of the AspectJ 5 Developer's Notebook.</p> |
| |
| <p>The new <b>pertypewithin</b> instantiation model is supported by highlighting |
| this new keyword, and adding it to the instantiation options in the |
| New Aspect wizard.</p> |
| |
| <p>All AspectJ 5 features that require a Java 5 JRE also require Eclipse |
| support for Java 5 projects, which currently means Eclipse 3.1M6. This |
| means that if running on Eclipse 3.0, the "5.0" tab for AspectJ compiler |
| settings is not present. With Eclipse 3.1M6 the "5.0" tab is present, |
| and now contains the new Xlint warning options added in AspectJ 5 M2, |
| including a warning when advice does not affect any join points, which can |
| be suppressed using the @SuppressAjWarnings annotation. Also, |
| there is no longer a "1.5" option on this page, as the Java Compiler setting |
| for JDK compliance level is used instead.</p> |
| |
| <p>The new <b>declare annotation</b> statements are fully supported (when |
| using Eclipse 3.1M6 and an AspectJ project with a Java compliance |
| setting of 5.0, and a 1.5.0 JRE). The outline view and package explorer |
| structure has been updated to include these new declare statements. |
| Markers are added to the edge |
| of the editor to indicate the source and targets of these statements, |
| as shown below. The context menu for these markers contains "Annotates" |
| and "Annotated by" submenus to allow navigation of these relationships.</p> |
| |
| <img src="editorDeclareAt.png" width="385" height="170"> |
| |
| <p>The "Annotates" and "Annotated by" relationships are also shown |
| in the Cross References view:</p> |
| |
| <img src="xrefDeclareAt.png" width="287" height="302"> |
| |
| </td> |
| </tr> |
| |
| |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| |
| <tr> |
| <td width="30%" valign="top" align="left"> |
| <p align="right"><b>AspectPath directories</b></td> |
| <td width="70%" valign="top"> |
| |
| <p>With AspectJ 5 M2 you can now specify directories on the aspect path, instead |
| of just jars or zips. To make use of this in AJDT, right-click on a project and select |
| Properties, then go to the <b>AspectJ Aspect Path</b> section. On the Libraries tab |
| there is now a <b>Add Class Folder...</b> button, which you can use to add the output |
| "bin" directory of another project, for example. This allows you to apply the aspects |
| from another project without requiring that other project to send its class files to |
| an output jar.</p> |
| |
| <img src="aspectpath.png" width="429" height="339"> |
| </td> |
| </tr> |
| |
| |
| |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| |
| <tr> |
| <td width="30%" valign="top" align="left"> |
| <p align="right"><b>Builder change</b></td> |
| <td width="70%" valign="top"> |
| |
| <p>The project builder that AJDT registers with Eclipse has been |
| moved from the AJDT UI plugin to the AJDT Core plugin. |
| This means that the builder |
| id has changed from <code>org.eclipse.ajdt.ui.ajbuilder</code> |
| to <code>org.eclipse.ajdt.core.ajbuilder.</code> |
| If a project is found with the old builder, you will be asked |
| whether to keep the reference to the old builder. This is only |
| useful if you are sharing the project with someone who may be |
| using an earlier version of AJDT. Otherwise, it is best to remove |
| the old reference. You can chose to automatically perform the same |
| operation on other projects.</p> |
| |
| </td> |
| </tr> |
| |
| <tr> |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| |
| <tr> |
| <td width="30%" valign="top" align="left"> |
| <p align="right"><b>Bug fixes</b></td> |
| <td width="70%" valign="top"> |
| |
| <p>As usual this release also contains a number of bug fixes. The full |
| list is available in |
| |
| <a href="https://bugs.eclipse.org/bugs/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=AJDT&target_milestone=1.2.0+M3&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&resolution=FIXED&bug_severity=blocker&bug_severity=critical&bug_severity=major&bug_severity=normal&bug_severity=minor&bug_severity=trivial&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&changedin=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">Bugzilla.</a> |
| |
| The more notable ones are: |
| |
| <ul> |
| |
| <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=74426">74426</a> deleting aj files does not work in package explorer</li> |
| |
| <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=78182">78182</a> editor tabs for .aj files are not marked with an error</li> |
| |
| <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=78579">78579</a> build does not handle resource files automatically</li> |
| |
| <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80920">80920</a> The visualiser menu is reset using the Resources and Markers provider</li> |
| |
| <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=80923">80923</a> ajdoc doesn't work with IBM's sdk</li> |
| |
| <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=83082">83082</a> NullPointerException from the Cross Reference view</li> |
| |
| <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=84310">84310</a> Non-deterministic selection of build configurations</li> |
| |
| <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=84967">84967</a> Headless build process fails</li> |
| |
| <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=86941">86941</a> "Cleaning" project does not work</li> |
| |
| <li><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=89798">89798</a> Visualiser Menu does not show inner aspects correctly</li> |
| |
| </ul> |
| </p> |
| |
| |
| </td> |
| </tr> |
| |
| <tr> |
| |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| |
| <tr> |
| <td width="30%" valign="top" align="left"> |
| <p align="right"><b>Previous releases</b></td> |
| <td width="70%" valign="top"> |
| |
| <p>See also information about the previous releases:</p> |
| |
| <p><a href="../whatsnew120M2/">AJDT v1.2.0 M2 - New |
| and Noteworthy</a></p> |
| |
| <p><a href="../whatsnew120M1/">AJDT v1.2.0 M1 - New |
| and Noteworthy</a></p> |
| </td> |
| </tr> |
| |
| <tr> |
| |
| <td colspan="2"> |
| <hr> |
| </td> |
| </tr> |
| |
| </table> |
| |
| </body> |
| </html> |