Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
tutorial:plugins [2020/06/06 19:58] admin [Develop custom plugin] |
tutorial:plugins [2021/01/10 17:58] (current) admin [Using Custom Plugin] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Tutorial: Plugins ====== | + | ====== Tutorial: |
| + | |||
| + | ====Learning Objectives==== | ||
| + | * [[#What does a plugin do?]] | ||
| + | * [[#Develop custom plugin]] | ||
| + | * [[#Deploy custom plugin]] | ||
| + | * [[#Using custom plugin]] | ||
| + | |||
| + | |||
| + | ===== What does a plugin do?===== | ||
| + | Plugin extends capability that enables your script to interact with AUT like [[plugins# | ||
| - | Learning Objectives: | ||
| - | * What does a plugin do? | ||
| - | * System plugins | ||
| - | * Develop custom plugin | ||
| - | * Deploy custom plugin | ||
| - | * Sharing custom plugin | ||
| ===== Develop custom plugin ===== | ===== Develop custom plugin ===== | ||
| + | Custom plugins are just java classes. | ||
| + | |||
| + | Before we can start building our custom plugin, we need to set up the java development environment: | ||
| + | * create a java maven project | ||
| + | * add following maven dependency to pom.xml | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | |||
| + | Now we are ready to build our first custom plugin in Eclipse: | ||
| + | * create a plugin java package to hold your custom plugin java classes, e.g. com.mine.plugin | ||
| + | * create your custom plugin java class by inheriting from // | ||
| + | * add @TO_PLUGIN annotation to your java class | ||
| + | * implement required methods | ||
| + | * add your plugin functions - declare them as public functions | ||
| - | Set plugin development environment using Eclipse IDE: | + | Below is an example of the java class: |
| - | * create a java project | + | |
| - | * add toplugin.jar to build path (project properties) | + | |
| - | Create plugin package | ||
| - | Create plugin class inheriting from PluginAncestor class | ||
| - | Add @TO_PLUGIN annotation to the class | ||
| - | Implement required methods | ||
| - | Add your plugin functions, declare as public functions | ||
| - | Compile and fix errors | ||
| | | ||
| | | ||
| Line 57: | Line 73: | ||
| } | } | ||
| - | By default, all public methods declared as well as inherited are exposed as MScript function. | + | By default, all public methods declared as well as inherited are exposed as MScript function. |
| + | |||
| + | Don't forget to write junit test to test the plugin functions. | ||
| + | |||
| + | |||
| + | ===== Deploy Custom Plugin ===== | ||
| + | * Export project as jar file | ||
| + | * Copy the plugin jar file to /lib folder in // | ||
| + | * Register your plugin package in // | ||
| + | |||
| + | | ||
| + | Above registry tells // | ||
| - | Write your junit test to test the plugin functions. | + | * Restart TestOptimal server |
| + | ===== Using Custom Plugin ===== | ||
| + | Plugins must be activated before they can be used in the script. | ||
| - | Deploy Custom Plugin: | + | * Open an existing model or create a new model |
| - | Export project as jar file | + | * Select |
| - | Copy plugin jar file to /lib folder | + | * Click on " |
| - | Register | + | * Check the checkbox for your custom |
| - | plugin.packages=your_plugin_package_path | + | * Close Plugin Activation dialog |
| - | Restart TestOptimal server | + | |
| - | Use Custom Plugin: | + | Press // |
| - | Open an existing model or create a new model | + | |
| - | Select SCRIPT tab | + | |
| - | Click on " | + | |
| - | Check the checbox for your custom plugin | + | |
| - | Your plugin should show up on CodeAssist list as "$' | + | |
| - | CodeAssist on your custom plugin should automatically be added. | + | |