From d6ecbd156a6c44b9e3ebfe8d129d8bcd30653d67 Mon Sep 17 00:00:00 2001 From: wisberg Date: Wed, 8 Jan 2003 23:45:53 +0000 Subject: [PATCH] updates for eclipse move, cvs builds, and test cases --- docs/faq/faq.xml | 989 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 723 insertions(+), 266 deletions(-) diff --git a/docs/faq/faq.xml b/docs/faq/faq.xml index 477804911..6ff455139 100644 --- a/docs/faq/faq.xml +++ b/docs/faq/faq.xml @@ -22,7 +22,7 @@ 2002 Palo Alto Research Center, Incorporated. All rights reserved. - Last updated December 31, 2002. + Last updated January 8, 2003. @@ -165,16 +165,14 @@ How is AspectJ licensed? - The AspectJ tools are open-source software available under the - Mozilla Public License 1.1. - The documentation is available under a separate - - license - that precludes for-profit or commercial - redistribution. Generally, we permit some usage for - internal presentations; please contact us at - support@aspectj.org - for permission. + AspectJ 1.1 source code and documentation is available under the + Common Public License 1.0. + + The AspectJ 1.0 tools are open-source software available under the + Mozilla Public License 1.1. + That documentation is available under a separate license + that precludes for-profit or commercial + redistribution. Most users only want to use AspectJ to build programs they distribute. There are no restrictions here. When you distribute your program, be sure to @@ -182,10 +180,6 @@ When distributing only the runtime classes, you need not provide any notice that the program was compiled with AspectJ or includes binaries from the AspectJ project, except as necessary to preserve the warranty disclaimers in our license. - Although the license does not require it, please email - support@aspectj.org - if you are shipping applications built with AspectJ; knowing that is - critical for ongoing support from our sponsors. @@ -203,19 +197,26 @@ as funded by Xerox, a U.S. Government grant (NISTATP), and a DARPA contract. - It has evolved through open-source releases to a strong - user community. + It has evolved through open-source releases + to a strong user community and now operates as an + open source project at + + http://eclipse.org/aspectj The AspectJ team works closely with the community to ensure AspectJ continues to evolve as an effective aspect-oriented programming language and tool set. - The latest release is 1.0.6 - which can be downloaded from the AspectJ - download page. - Further development is focused on supporting applications, - improving performance of the 1.0 compiler, - enhancing integration with IDEs, - and building the next generations of the language. + + The latest release is 1.0.6 + which can be downloaded from the 1.0 AspectJ + download page. + The current release train is 1.1, + which can be downloaded from the + AspectJ home page. + This development is focused on supporting applications, + improving performance of the 1.1 compiler, + enhancing integration with IDE's, + and building the next generations of the language. @@ -247,34 +248,28 @@ How do I download and install AspectJ? - Go to AspectJ's - download web - page - and choose which components you want download. - The jar files are installed by executing + From AspectJ's + web page + , download the AspectJ distribution. + The jar file is installed by executing java -jar jar file name Do not try to extract the jar file contents and then attempt to execute - java org.aspectj.Main. (A + java org.aspectj.tools.Main. (A NoClassDefFoundError exception will be thrown.) The AspectJ distribution is not designed to be installed this way. Use the java -jar form shown above. - The compressed tar files (suffix: - .tgz) are extracted by decompressing them with - tar or with WinZip. - To uninstall, remove the files the installer wrote in your file system. In most cases, you can delete the top-level install directory (and all contained files), after you remove any new or updated files you want to keep. On Windows, no registry settings were added or changed, so nothing needs to be - undone. You may install over prior versions, but if the files are - locked the installer will warn you but still complete; in this case, - remove the locked files and reinstall. + undone. Do not install over prior versions, which might have + different files. Delete the prior version first. @@ -349,10 +344,10 @@ AspectJ products are designed to make it easy to integrate AspectJ into an existing development process. Each release includes - Ant taskdefs for building programs, + Ant tasks for building programs, the AspectJ Development Environment (AJDE) for writing aspects inside popular IDE's, and - command-line tools for compiling, documenting, and debugging. + command-line tools for compiling and documenting Java and AspectJ code. AspectJ provides replacements for standard Java tools: @@ -364,20 +359,22 @@ - ajdoc works like - Sun's javadoc API documentation generator - to produce HTML describing the semantics of Java and - AspectJ source files, including entries and cross-references - for the crosscutting structure. - - - - ajdb is an aspect-aware debugger - akin to Java's jdb. + ajdoc produces API documentation like + javadoc, with additional crosscutting links. For example, + it shows advice affecting + a particular method or all code affected by a given aspect. + At present, ajdoc is only supported in AspectJ 1.0. + + For debugging, AspectJ supports JSR-45, which provides a mechanism for + debugging .class files that have multiple source files. + Debugger clients and VM's are beginning to support this; + see Sun's J2SE 1.4.1 VM and jdb debugger + and recent versions of JBuilder. + The AspectJ Development Environment (AJDE) enables programmers to view and navigate the crosscutting structures in their programs, integrated with existing support in @@ -388,23 +385,42 @@ having to abandon their existing tools. - AJDE integrates with the following tools: + AJDE is a set of API's providing the basis for the following + development tool integrations: - Borland's JBuilder (versions 4 and 5) + Eclipse (version 2.0) + in the Eclipse AspectJ Development Tools project + + http://eclipse.org/ajdt + + - Sun Microsystems' Forte for Java (versions 2 and 3), - and Netbeans 3.2 + Emacs (GNU version 20.3) + and XEmacs (version 21.1 on Unix and 21.4 on Windows), + in the SourceForge AspectJ for Emacs project + + http://aspectj4emacs.sourceforge.net + - Eclipse (version 2.0) + JBuilder (versions 4 through 7) from Borland + in the SourceForge AspectJ for JBuilder project + + http://aspectj4jbuildr.sourceforge.net + + - GNU Emacs (version 20.3) and XEmacs (version 21.1 on Unix - and 21.4 on Windows) + Netbeans up to 3.4 + (and Sun Microsystems' Forte for Java (versions 2 and 3), Sun/One) + in the SourceForge AspectJ for NetBeans project + + http://aspectj4netbean.sourceforge.net + @@ -413,8 +429,9 @@ the stand-alone source code browser ajbrowser, included in the tools distribution. - AspectJ also supports building with Ant by providing - taskdef interfaces to the ajc and ajdoc tools. + Finally, as mentioned above, + AspectJ also supports building with Ant by providing + task interfaces to the ajc and ajdoc tools. @@ -793,11 +810,8 @@ distinguished by the fact that it was designed from the ground up to be compatible with Java. - See the - Related - Sites - page of the AspectJ web site for more - information. + For more alternatives for aspect-oriented programming, see + http://aosd.net. @@ -955,17 +969,24 @@ aspect. The AspectJ compiler accepts standard Java as - input and produces standard Java bytecode as output. An - optional mode produces standard Java source code which may - then be compiled with any compliant Java compiler, e.g. Sun's - javac compiler - or IBM's jikes compiler. + input and produces standard Java bytecode as output. + In 1.0, an optional mode produces standard Java source code + which may then be compiled with any compliant Java compiler + (e.g. Sun's javac compiler + or IBM's jikes compiler). + In 1.1, an optional mode accepts standard Java bytecode + from any compliant Java compiler + and weaves in the aspects to produce new bytecode. - AspectJ is available under the - Mozilla Public License, - a non-proprietary, open source license. This ensures that + AspectJ is available under a non-proprietary, open source license, + either the + + Mozilla Public License 1.1 + for 1.0 or the + + Common Public License 1.0 for 1.1. AspectJ will continue to evolve and be available, regardless of the fate of any particular organization involved with AspectJ. @@ -1400,25 +1421,38 @@ aspect PublicErrorLogging { - The AspectJ users mailing list provides an - informal network of AspectJ experts. To subscribe, - visit the Mailing Lists - page of the AspectJ web site. + The AspectJ users mailing list + (aspectj-users@eclipse.org) + provides an informal network of AspectJ language experts who + can answer usage questions about AspectJ programs + and the AspectJ tools. - If you have a problem that is not a bug, you may email - the AspectJ team at - support@aspectj.org. - You may view and submit bug reports and feature requests at - http://aspectj.org/bugs. + + The AspectJ developers mailing list + (aspectj-dev@eclipse.org) + provides an informal network of AspectJ technology experts who + aim to understand the technology behind AspectJ. + They can answer questions about what's possible and about + integrating AspectJ technology with other technologies. + This is also the place to request commercial support, + tutorials, or presentations. + + + For both mailing lists, only subscribed members may post messages. + To subscribe, visit the + AspectJ web site. - Members of the AspectJ team are available to work with users in - more depth on both program design and implementation issues. - The team also presents educational courses and speakers for - interested groups and offers commercial support - and consulting for businesses. - Please contact the - AspectJ team. - with your request. + + You may view and submit bug reports and feature requests at + http://dev.eclipse.org/bugs, + using the product AspectJ. Here are direct links to + + view open compiler bugs, + + view all Aspectj bugs (open or closed), or + + add new bugs. + @@ -1729,23 +1763,47 @@ ajc -bootclasspath c:\jdk1.2\jre\lib\rt.jar \ between method and advice affecting that method and between a type and declarations in an aspect on that type. (The IDE support may have more features than ajbrowser, depending - on the IDE.) + on the IDE. + See for more + information on which Java development environments are + supported.) - When you are looking at documentation, + When you are looking at documentation for AspectJ 1.0, ajdoc will provide links from aspects and advice to the affected code, but it provides less information than the IDE support because it only parses declarations. + + When you are compiling your program, pointcuts that are + statically-determinable can be used in declare statements + to identify the code picked out by the pointcut. + (A pointcut is statically determinable if it only uses + the pointcut designators + within, + withincode, + execution, + call, + get, + set, + initialiation, and + staticinitialiation.) + The compiler will list the static code points which will be + affected by any advice specifying the same pointcut. + For example, the following will print a warning + whereever some code in class Bar gets a field value from Foo: + + declare warning: get(* Foo.*) && within(Bar) + : "reading Foo state from Bar"; + + When you are running your program, you can trace advice as it executes. This enables you to identify advice on join points picked out dynamically, which cannot be reflected precisely by IDE support. - - See for more - information on which Java development environments are - supported. + For a related tracing question, + see @@ -1814,13 +1872,16 @@ ajc -bootclasspath c:\jdk1.2\jre\lib\rt.jar \ - The AspectJ team directly provides components for JBuilder, Forte, - and Emacs. We also support the open-source AspectJ plugin project + The AspectJ team directly provided components for JBuilder, Forte, + and Emacs and supported the open-source AspectJ plugin project at http://eclipse.org/ajdt - which uses the AJDE API support for IDE's. We - are interested in supporting other developers as they use AJDE - to provide components for the following IDE's (roughly in - order of interest and viability). + which uses the AJDE API support for IDE's. + Supporting new IDE's is a matter of building on the AJDE API's, + mostly likely adopting one of the existing open-source IDE + extensions as a design template. + Here are the IDE's where we know people have expressed interest, + so interested developer may want to join with others in their + developer communities to build the integration. @@ -1837,33 +1898,17 @@ ajc -bootclasspath c:\jdk1.2\jre\lib\rt.jar \ Oracle JDeveloper has an Extension SDK unfamiliar to us. - - Together extensibility API is too limited - - - - VisualCafe may have a difficult extensibility API - - - - - IBM's VisualAge for Java is to be replaced with Eclipse - - Some have suggested Codeguide from Omnicore http://www.omnicore.com/ - Visual SlickEdit ?? - Kawa has been discontinued - VIM has been suggested. - If you would like to build support for an IDE, contact us so we can help. - To contribute or propose new IDE's, please - mail us. + For questions on AJDE, join the developer's list + aspectj-dev@eclipse.org. + For questions on the current IDE integrations, contact those projects. @@ -1904,10 +1949,10 @@ ajc -bootclasspath c:\jdk1.2\jre\lib\rt.jar \ around advice instead of introduction. This solution is described in - this thread + this thread (no longer available) on the AspectJ users list, with some - additional comments + additional comments (no longer available) . @@ -1921,13 +1966,147 @@ ajc -bootclasspath c:\jdk1.2\jre\lib\rt.jar \ - Try using an aspect posted to the user's list called - - TraceJoinPoints.java - . + You can trace them using using an aspect. For example, you can start logging at a particular method call and see what join points occur after the call and before it returns. + + Here's some code Jim Hugunin wrote to trace join points + and posted to the users list. To reuse the aspect, + define a subaspect and implement the pointcuts, for example: + + +aspect JoinPointSampleAspect extends aj.TraceJoinPoints { + protected pointcut entry() : + execution(static void JoinPointSample.main(String[])); + protected pointcut exit() : + call(static void JoinPointSampleAspect.exit()); + + public static void main (String[] args) { + JoinPointSample.main(args); + JoinPointSampleAspect.exit(); + } + public static void exit() {} +} + +class JoinPointSample { + public static void main(String[] args) {} +} + + + Here's the aspect: + +TraceJoinPoints tjp = TraceJoinPoints.aspectOf(); + * if (null != tjp) tjp.message("Hello, World!"); + */ + public void message(String s) { + out.println("" + prepareMessage(s) + ""); + } + public void message(String sink, String s) { + if (null == sink) { + message(s); + } else { + out.println("" + prepareMessage(s) + ""); + } + } + protected String prepareMessage(String s) { return s; } // XXX implement + + //--------- end of added + + PrintStream out; + int logs = 0; + protected void makeLogStream() { + try { + out = new PrintStream(new FileOutputStream("log" + logs++ + ".xml")); + } catch (IOException ioe) { + out = System.err; + } + } + + protected void closeLogStream() { + out.close(); + } + + + int depth = 0; + boolean terminal = false; + protected void logEnter(JoinPoint.StaticPart jp) { + if (terminal) out.println(">"); + indent(depth); + out.print("<" + jp.getKind()); + writeSig(jp); + writePos(jp); + + depth += 1; + terminal = true; + } + + void writeSig(JoinPoint.StaticPart jp) { + out.print(" sig="); + out.print(quoteXml(jp.getSignature().toShortString())); + } + + void writePos(JoinPoint.StaticPart jp) { + SourceLocation loc = jp.getSourceLocation(); + if (loc == null) return; + + out.print(" pos="); + out.print(quoteXml(loc.getFileName() + + ":" + loc.getLine() + + ":" + loc.getColumn())); + } + + String quoteXml(String s) { + return "\"" + s.replace('<', '_').replace('>', '_') + "\""; + } + + protected void logExit(JoinPoint.StaticPart jp) { + depth -= 1; + if (terminal) { + out.println("/>"); + } else { + indent(depth); + out.println(""); + } + terminal = false; + } + + void indent(int i) { + while (i-- > 0) out.print(" "); + } +} +]]> + + @@ -1981,11 +2160,7 @@ ajc -bootclasspath c:\jdk1.2\jre\lib\rt.jar \ by return or throwing an exception), so the execution join point always happens within the bounds of the corresponding call join point. You can see this if you use the - join-point tracing aspect in - - TraceJoinPoints.java - . - as described above. + join-point tracing aspect in see . As you would expect, the context differs in advice on pointcuts picking out execution and call join @@ -2087,7 +2262,8 @@ aspect LogFactorial { Test which implements an interface and extends a class along with a trace of the join points below and including the constructor call obtained using - TraceJointPoints.java (linked above). + TraceJointPoints.java + from . Some libraries are distributed in the release under the - examples folder in the distribution. If you develop a library and - want to make it available to other users, make sure to - - contact us - . + examples folder in the distribution. + If you develop a library and want to make it available to + other users, join the users mailing list + aspectj-users@eclipse.org. @@ -2399,7 +2573,7 @@ java.lang.Integer For more information, see the Programming Guide - + semantics section "Context Exposure" . @@ -2630,8 +2804,7 @@ vmparam -Xmx384m If it turns out that your project is too big to use with AJDE, your IDE may nonetheless support external commands or Ant build processes, which - run outside the IDE memory space. For an Ant taskdef, see - . For a JBuilder Ant plugin, some + run outside the IDE memory space. For a JBuilder Ant plugin, some people have directed us to . @@ -2663,24 +2836,25 @@ vmparam -Xmx384m When advice is not running, it is probably a problem in the - pointcut. Sometimes users specify pointcuts that do not mean what they intend - - most often when they misspell a type name. Run the compiler in + pointcut. + Sometimes users specify pointcuts that do not mean what they intend - + most often when they misspell a type name. Run the compiler in -Xlint mode, which will flag some likely mistakes, - like the type name. If that does not work, use - - TraceJoinPoints.java - to see if your join points are executing at all. + like the type name. + If that does not work, and your pointcut is staticly-determinable, + use a declare statement to identify affected code. (For more + information, see .) + If that does not work and your pointcut is dynamically determined, + see if your join points are executing at all by using + TraceJoinPoints.java from . When advice is running more than it should, it may be that your pointcut picks out more join points than you intend. If you are using IDE support, you should be able to trace back from the pointcut or advice to the join points which can be statically determined to be affected. To identify advised dynamic join points, - you can try using - - TraceJoinPoints.java - , but often it is easier to update the advice to - print the source location of the join point. + you can try using TraceJoinPoints.java as above, + or update the advice to print the source location of the join point. This will show if the advice applies to code that you did not consider. @@ -2845,63 +3019,357 @@ vmparam -Xmx384m - 813 - - Ajdoc requires J2SE 1.3 tools.jar, not that of 1.2 or 1.4. - - Getting Help + + + AspectJ 1.1 and eclipse.org - + + Why did the AspectJ project move to eclipse.org? + + + + From the message sent to users: + - How do I find out more about AspectJ? + AspectJ has come a long way -- the language has + stabilized; there are a rapidly growing number of + commercial users; the 1.1 release is imminent and will + include byte-code weaving and incremental compilation; + and the tool support is now well integrated with several + major IDEs. + + + This growth of the community and the technology means + that the original research and prototype development of + AspectJ is complete. As such it is time for ongoing + development and support of AspectJ to move outside of + PARC. This has already started to happen; the Eclipse + AJDT plug-in and the several books in preparation are + examples. + + + To encourage the growth of the AspectJ technology and + community, PARC is transferring AspectJ to an + openly-developed eclipse.org project. This project will + include documentation, web site, mailing lists, bug + database, and sources for the compiler. The + command-line AspectJ compiler is still the primary tool + produced by this project, in addition to APIs that support + integration with a variety of IDEs. The Eclipse plug-in will + remain at eclipse.org, while the NetBeans, JBuilder and + Emacs support will move to SourceForge.net projects. + We look forward to your involvement with and + contribution to those projects. + + + We see Eclipse as an excellent new home for core + AspectJ technology development -- it is an active + community of Open Source development and innovation + in the Java space. Once development moves to + Eclipse.org, others will be able to contribute more easily. + + + + + + Do I have to download Eclipse to use AspectJ? - Visit the AspectJ project web site: - http://aspectj.org. + No. The AspectJ tools download is completely self-contained + and does not require that you work in Eclipse. + For information on IDE support, see + . - - How do I submit a bug report? + + What can I do to help on the AspectJ project? + + + + Here's a general list, in no particular order: + + + Participate effectively in the mailing lists. + The quality of the mailing lists makes a big difference + in the ability of new and experienced AspectJ users + to write good code. For guidance on effective + participation, see + and + . + + + + Write test cases for compiler bugs without test cases. + Compiler bugs without test cases are much less likely to be fixed; + until they are rendered in code, they might be user mistakes, + and they might duplicate another bug or actually cover many bugs. + + Find them by searching open compiler bugs and picking out + any which do not have test case attachments or a comment that + a test case has been written. + Here is a query for open compiler bugs: + + + http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED + + + For how to write test cases, see + . + + + + + + + + + How should I submit test cases for bugs? + - You can submit a bug using the web interface - http://aspectj.org/bugs - (preferred), or you may send email to - jitterbug@aspectj.org directly. - See also + You can attach files to a bug after it has been created. + The code of course should replicate the actual behavior + described in the bug when run on the target version. + If you have a single source file, you can attach it directly, + describing in the comments the expected result + (e.g., error on line 14, or successful compile/run). + The most helpful form for describing the test scenario + and the expected results are the test definitions + described next. + + For more complex bugs requiring many files, + create a zip file of a directory containing all the files + and an XML test definition file. + The XML test definition file contains specifications + for how to compile, recompile, or run the test sources. + Complete documentation is available in the CVS tree + at tests/readme-writing-compiler-tests.html + but here is a sample file with some example definitions, + preceded by comments showing the directory layout + of the files referred to in the test definitions. + + + + + + + + + + + + + + + + + + + + + + + + -If it seems to be a bug in the compiler, - please include in the body of the email source code to reproduce the problem. + + + + + + + + + + + +]]> + + + + + + + How do I get and compile the source code for AspectJ? + + + + AspectJ 1.1 source code is available through CVS using the CVS Root + dev.eclipse.org:/home/technology. For more information + on accessing the CVS tree at eclipse.org, see the documentation + from http://eclipse.org. + + The AspectJ tree is organized into modules as follows: + + org.aspectj/ + modules/ + ajbrowser/ + ajde/ + ... + + + + You can check out the entire modules directory and build using the + Ant build script modules/build/build.xml. + All required libraries are included in modules/lib/, + (including Ant 1.5.1 in modules/lib/ant). + If you are using Eclipse, you can check out any modules/ + subdirectory as an eclipse Java project. + Depending on what you are trying to build, you need not check out + all modules; as of this writing, here are the modules to get + when trying to build something: + + + + For any builds: build, lib + + For the documentation: docs + + For the compiler: bridge, util, testing-util, + weaver, asm, org.eclipse.jdt.core, org.aspectj.ajdt.core, + and runtime. + + For ajbrowser: the compiler modules, plus + ajbrowser, taskdefs, and ajde. + + For the test harness: the ajbrowser modules, plus + testing, testing-client, and testing-drivers. + + To run the test suite: the test harness modules, plus + tests. + + + + + Note that module interdependencies are recorded only in the eclipse + modules/{module}/.classpath + + files and may + change, so the list above may not be correct when you read it. + + + + + + I'd like to run my test case. How do I get the test harness? + + + + The test harness is not distributed + (though we may put it on an AspectJ page.) + To build it, get the source tree as + described in and then + build the build-testing-drivers target: + + cd build + ../lib/ant/bin/ant -f build.xml build-testing-drivers + + This produces + ../aj-build/jars/testing-drivers-all.jar + which you can run as described in + tests/readme-tests-module.html. + + + + Getting Help - + - How do I submit comments and feature requests? + How do I find out more about AspectJ? - You can email comments to all users at - users@aspectj.org, - email the AspectJ team at - support@aspectj.org. - You can view and submit bug reports and feature requests at - http://aspectj.org/bugs. - If you think you might simply be making a mistake, you might - email some source code to - users@aspectj.org. + Visit the AspectJ project web site: + http://eclipse.org/aspectj. + + + + + + How do I submit a bug report? + + + You can submit a bug from + + http://dev.eclipse.org/bugs/enter_bug.cgi?product=AspectJ + . + If it seems to be a bug in the compiler, + please attach a small test case (source code) + to reproduce the problem. + For more information on writing compiler test cases, see + . @@ -2914,10 +3382,10 @@ If it seems to be a bug in the compiler, You can reach other AspectJ users by using the - aspectj-users mailing list. To subscribe to the list or view the - list archives go to the user community page: - - http://aspectj.org/lists + aspectj-users mailing list. You can subscribe to the list or view the + list archives from the AspectJ home page + + http://eclipse.org/aspectj . @@ -2931,11 +3399,15 @@ If it seems to be a bug in the compiler, - There is a search entry box on the left navigation bar of the web site, - but it is generally more effective to do a google search of the form, - - http://www.google.com/search?q=site%3Aaspectj.org+%22abstract pointcuts%22 + It is generally most effective to do a google search of the form, + + http://www.google.com/search?q=site:eclipse.org+cflowbelow + but this may not get results inside the mail archives. + Be sure to check the old archives available for download from + the AspectJ home page. + http://eclipse.org/aspectj + . @@ -2947,23 +3419,25 @@ If it seems to be a bug in the compiler, + Here's the general form of a good email: + - Here's the big picture of what I'm trying to do... + Describe the big picture of what you are trying to do... - Here's what I think it takes, in AspectJ terms + Describe what you think it takes, in AspectJ terms (concepts, syntax, and semantics) from the Programming Guide... - Here's the AspectJ code I'm using, the output it - produces when run, and what I expect... + Show the AspectJ code you are using, what output it + produces when run, and what output you expect... @@ -2976,6 +3450,8 @@ If it seems to be a bug in the compiler, response. On the mail list, someone can reply by fixing your code. In bugs, the developers can reproduce the problem immediately and start analyzing the fix. + The code should not be incomplete; it should run (or fail) as-is, + without additional libraries or source files. For the mail lists, we try to follow the conventions for open-source @@ -3006,25 +3482,31 @@ If it seems to be a bug in the compiler, from the command line. - Bug reports for the Eclipse support go to the Eclipse + Bug report for the IDE extensions go to their respective projects, + listed in + + (including bug reports for the AJDE Eclipse support, + which you can submit at - bugzilla - database. - Bug reports on other IDE support should have version - information for both Java and the IDE, and + http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AJDT + ). + + + Bug reports on ajbrowser should have version + information for both Java and AspectJ, and (most importantly) clear steps for reproducing the bug. - You may submit the bugs via the web form - (http://aspectj.org/bugs) - or via email - (jitterbug@aspectj.org). + You may submit ajbrowser bugs against the IDE component of AspectJ + via the web form + + http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ + . One of the benefits of open-source is that you can find and fix the bug for yourself; when you submit the fix back to us, we can validate the fix for you - and incorporate it into the next release. Email - support@aspectj.org - for instructions on submitting a patch. + and incorporate it into the next release. + You can submit a patch by attaching it to the bug. @@ -3062,17 +3544,18 @@ If it seems to be a bug in the compiler, - At the end of the report, append each source file, - separated with a line and the file name. - (Include all sources, and do not send attachments.) + Submit the bugs via the web form + + http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ + . - - Submit the bugs via the web form - (http://aspectj.org/bugs) - or via email - (jitterbug@aspectj.org). + Attach the test case to the bug. + The test case may be a single file + or it may be multiple files in a single zip archive, + of the form discussed in + . @@ -3087,53 +3570,13 @@ If it seems to be a bug in the compiler, - The documentation available on this site is a primary source of - material on AspectJ: - - - - - - - Selected AspectJ Papers and Presentations - - - Papers presented at various conferences; tutorial - slide presentations. - - - - - - Aspect-Oriented Programming - - - - The seminal AOP/AspectJ paper - - - - - - The AspectJ Programming Guide - - - A practical guide for programmers. - Includes a number of examples, some quite - sophisticated. - - - - - The AspectJ Tutorial - - Slides from a day-long tutorial presentation on - AspectJ. - - - - - + The documentation available in the distribution is the + best source for language and usage questions. You can also find + selected AspectJ papers and presentations on the + + PARC AspectJ page. + For links to Aspect-oriented programming materials in general, see + http://aosd.net. @@ -3145,10 +3588,8 @@ If it seems to be a bug in the compiler, - Beyond what's available on the aspectj.org web site, - the AspectJ team does a limited amount of consulting - and support for qualified groups. For more information, - see . + The best thing to to is join and email the + aspectj-dev@eclipse.org mailing list. @@ -3161,9 +3602,20 @@ If it seems to be a bug in the compiler, - Entries changed since the earlier November 26 version: + The FAQ has been updated to reflect the move to eclipse.org; + but some answers apply to the released 1.0 version + rather than the 1.1 version in development. + Entries changes to reflect the move are not listed here. + Other entries changed since the earlier November 26 version: + + + + + + + @@ -3387,6 +3839,11 @@ If it seems to be a bug in the compiler, Version Description + + 1.1 + Language changes, bytecode weaving and incremental compilation. + + 1.0 Final syntax and semantic changes. Standalone structure -- 2.39.5