====== JAsCoDT for Eclipse ====== The JAsCo Eclipse plugin allows easy development of JAsCo enabled applications using the Eclipse IDE. Eclipse is an open, extensible and cross-platform IDE. For more information about Eclipse, see the [[http://www.eclipse.org|Eclipse website]]. ===== Features ===== * Compiling aspect beans, connectors and regular Java classes. * Makes sure that normal Java files are always transformed to JAsCo beans so that aspects are able to be triggered on them. * Visual wizards for both aspects and connectors. * Allows to find out which joinpoints match a certain hook instantiation. * Running and debugging JAsCo projects. ===== System Requirements ===== * Windows 2000/XP or Linux * JDK1.5 required * Eclipse 2.1 or Eclipse 3+ (3+ highly recommended) * Eclipse 3.1 is required for some features like refining classes, run-time weaver! ===== Installation Instructions ===== The development tools for JAsCo are installed using the Eclipse update manager. - Install the plugin by employing the built-in update manager for the following url: http://ssel.vub.ac.be/jasco/update/. Select the correct JAsCo version depending on your Eclipse version (2.1 or 3.0), if you don't know which Eclipse version you have see Help->About. If you don't know how to use the update manager, [[eclipse:updatemanager|click here]] for a detailed explanation. - Set the tools.jar file in the window->preferences->JAsCo tab. For more information about this, see the online help: Help -> Help Contents -> JAsCo Plugin Help. ** Important Upgrade Information:** If you are upgrading from an earlier version of the Eclipse plugin, existing projects will still have the old JAsCo runtime libraries. Solution: Either make a new JAsCo project and move all contents to that one or manually alter the jasco.jar and jasco-libs.jar project libraries. Both are located in eclipse/plugins//libs. ===== Manual for using the JAsCo Eclipse plugin ===== A manual for configuring and using the JAsCo Eclipse Plugin is integrated in the plugin itself from version 1.2.2 onwards. Go to: Help -> Help Contents -> JAsCo Plugin Help. You also might want to subscribe to the [[documentation:main#jasco_users_mailing_list|JAsCo mailinglist]] for the latest information on JAsCo. To find out which JAsCo kernel version is installed in the plugin, go to window->preferences->JAsCo. A compatible language reference is always included in the plugin's JAsCo help. ====== Examples ====== Both examples require the very latest Eclipse plugin (1.4 or higher) or when using the command line tools JAsCo version 0.8.5M1 or higher. **IMPORTANT:** When using Eclipse 3.1 or higher you have to make sure to import the example projects into the src folder, not in the project's root! Eclipse 3.1 uses seperate source and classes folders per default. ===== Example AOSD Project ===== A simple visual application which execution is logged using a JAsCo aspect bean. Intructions: * Download the project {{eclipse:juggler.zip|here}}. * Create a new JAsCo project in Eclipse. * Import the example into the new project using File->Import. * Add the juggler.jar library (contained in the zip file) to the new project using Project->Properties->Java Build Path->Add External Jar * Create a new JAsCo runner and use RunJuggler as main class. * Launch the application! ===== Example Adaptive Programming Project (using traversal connectors) ===== This application runs two visitors on a sample data structure. Combination strategies are also employed. See the JAsCo language reference for more information about Adaptive Programming and traversal connectors. Intructions: * Download the project {{eclipse:aosddemoap.zip|here}}. * Create a new JAsCo project in Eclipse. * Import the example into the new project using File->Import->Zip File. * Create a new JAsCo runner and use RunTraversal as main class. * Launch the application! ===== Example Stateful Aspects Project ===== This application that illustrates what stateful aspects are. When running the application a window pops up containing 6 buttons for invoking 6 different methods. Whenever X.a, X.b and X.c are invoked after each other, the stateful aspect prints a message in the console. Notice the difference between a strict stateful aspect and a non-strict. Also notice a regular aspect for feeding input to the console. Intructions: * Download the project {{eclipse:stateful-solution.zip|here}}. * Create a new JAsCo project in Eclipse. * Import the example into the new project using File->Import->Zip File. * Create a new JAsCo runner and use jasco.example.main.Main as main class. * Launch the application! ====== What's new? ====== For an overview of the latest changes in JAsCoDT, please consult the [[eclipse:jascodt:whatsnew|What's new in JAsCoDT?]] page.