| <html> |
| <head> |
| <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| <link rel="stylesheet" href="../../../..//default_style.css" type="text/css"> |
| <link rel="stylesheet" href="../../../..//webtools/wtp.css" type="text/css"> |
| <title>WTP Tutorials - Developing the WTP with Eclipse</title> |
| </head> |
| <body> |
| <table width="100%" cellspacing="5" cellpadding="2" border="0"> |
| <tbody> |
| <tr> |
| <td width="60%" align="left"><font class="indextop">WTP Tutorials - Developing the WTP with Eclipse</font> |
| <br> |
| <font class="indexsub">WTP Tutorials - Developing the WTP with Eclipse</font></td><td width="40%"><img width="207" hspace="50" height="129" align="middle" src="../../../..//webtools/images/wtplogosmall.jpg"></td> |
| </tr> |
| </tbody> |
| </table> |
| <table width="100%" cellspacing="5" cellpadding="2" border="0"> |
| <col width="16"> |
| <col width="*"> |
| <tbody> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p> |
| |
| <b>By Mark Hutchinson, IBM</b> |
| |
| <BR> |
| February 21, 2005 |
| <BR> |
| Updated on June 2, 2006 |
| <BR> |
| <BR> |
| |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p> |
| This tutorial shows you how to set up your Eclipse |
| environment to develop or modify the Web Tools Platform (WTP) project plug-ins. First |
| we will discuss how to connect to the CVS repository to check |
| out the WTP source code. We will then set up our target platform. |
| Next we will make a modification to the WTP source and run |
| our eclipse application. Finally, we will create a patch |
| for our change, which we could submit to the WTP project. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <br> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Checking Out the Source Code</font></b></td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <ol> |
| |
| <li> |
| Access the source code for the Eclipse Web Tools Platform |
| from the Concurrent Versions System (CVS) repository. |
| To access the CVS repository select Window > Open |
| Perspective > Other and select CVS Repository Exploring. |
| <br> |
| <br> |
| </li> |
| |
| <li> |
| The CVS Repositories view is now on the left side of your |
| screen. Select the Add CVS Repository icon |
| <img src="images/addrepositoryicon.gif" alt="Add Repository Icon" width="25" heigt="23" border="0"> |
| and in the Add CVS repository dialog enter the following values: |
| <br> |
| |
| <b>Host:</b> |
| dev.eclipse.org |
| <br> |
| |
| <b>Repository Path:</b> |
| /cvsroot/webtools |
| <br> |
| |
| <b>User:</b> |
| anonymous |
| <br> |
| Select finish. |
| <br> |
| |
| |
| <img src="images/addrepository.gif" width="438" height="542" border="0" alt="Add CVS Repository"> |
| <br> |
| |
| <br> |
| |
| </li> |
| |
| <li> |
| Navigate through the folders and find the plug-ins that you |
| are interested in having the source for. The most recent |
| code is in HEAD. The |
| <a href="http://www.eclipse.org/webtools/wst/main.html">Web Standards Tools</a> |
| plug-ins are found in the wst folder, and the |
| <a href="http://www.eclipse.org/webtools/jst/main.html">J2EE Standard Tools</a> |
| plug-ins are found in the jst folder. For this tutorial we will modify |
| <b>HEAD/wst/components/xml/plugins/org.eclipse.wst.xml.ui</b> |
| |
| <br> |
| <br> |
| </li> |
| |
| <li> |
| Add the source into your local workspace by right clicking |
| on that plug-in and selecting "Check Out". |
| <br> |
| |
| <img src="images/repositories.gif" alt="check out source code" width="487" height="689" border="0"> |
| <br> |
| |
| <br> |
| |
| </li> |
| |
| <li> |
| Switch back to the Java perspective. The source code for the |
| plug-in you downloaded is now in your workspace. |
| </li> |
| |
| </ol> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <br> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Setting up the Target Platform</font></b></td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p> |
| The target platform specified contains the eclipse plug-ins |
| which your code will be compiled against. Having a target |
| platform allows you to compile and run your modified code |
| without having to bring all of the source code into your |
| development workbench. The target platform should be the |
| same platform you are developing for. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p>To set up your target platform:</p> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <ol> |
| |
| <li> |
| |
| <a href="http://download.eclipse.org/webtools/downloads/">Download</a> |
| and install the desired Eclipse and WTP versions in a separate folder from your current development |
| Eclipse platform. Ensure that this new platform runs. This |
| will be your target platform. |
| <br> |
| <br> |
| </li> |
| |
| <li> |
| From your development workbench select Window > Preferences |
| > Plug-in development > Target Platform. |
| <br> |
| <br> |
| </li> |
| |
| <li> |
| Enter the location of the platform you wish to target. |
| <br> |
| <br> |
| |
| <img src="images/targetplatform.gif" alt="target platform preferences" width="686" height="560" border="0"> |
| </li> |
| |
| </ol> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <br> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Modifying the Source Code</font></b></td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p> |
| As an example, we are going to add to the pop-up menu shown |
| when the user right clicks on an XML file in the |
| Navigator view. First we need to add to the plugin.xml file |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <ol> |
| |
| <li> |
| In the Java perspective, open the plugin.xml file for the |
| org.eclipse.wst.xml.ui plug-in you just checked out. |
| <br> |
| <br> |
| </li> |
| |
| <li>Add the following to the plugin.properties file. This will be the |
| text of the label that appears in your new pop-up menu. |
| <pre> |
| #Label to be added to the pop-up menu |
| SHOW_MESSAGE_DIALOG_LABEL = Show a Message Dialog |
| </pre> |
| <br> |
| </li> |
| |
| |
| <li> |
| Add the following to the source of plugin.xml: |
| <pre> |
| <!-- =============================================================================== --> |
| <!-- My Popup Menu --> |
| <!-- =============================================================================== --> |
| <extension point="org.eclipse.ui.popupMenus"> |
| <objectContribution |
| objectClass="org.eclipse.core.resources.IFile" |
| nameFilter="*.xml" |
| id="org.eclipse.wst.xml.ui.actions"> |
| <action |
| label="%SHOW_MESSAGE_DIALOG_LABEL" |
| class="org.eclipse.wst.xml.ui.internal.actions.MyMessageDialog" |
| menubarPath="My Menu" |
| enablesFor="1" |
| id="org.eclipse.wst.xml.ui.actions.PopUp" /> |
| </objectContribution> |
| </extension> |
| </pre> |
| |
| </li> |
| |
| <li> |
| In the package Explorer expand "src" and right click on |
| org.eclipse.wxt.xml.ui.actions and select new class. |
| |
| Name this class MyMessageDialog. |
| <br> |
| <br> |
| </li> |
| |
| <li> |
| Add this source code to MyMessageDialog.java: |
| <pre> |
| package org.eclipse.wst.xml.ui.internal.actions; |
| |
| import org.eclipse.jface.action.IAction; |
| import org.eclipse.jface.dialogs.MessageDialog; |
| import org.eclipse.swt.widgets.Shell; |
| import org.eclipse.ui.actions.ActionDelegate; |
| import org.eclipse.wst.xml.ui.internal.XMLUIPlugin; |
| |
| public class MyMessageDialog extends ActionDelegate { |
| public void run(IAction action) { |
| MessageDialog message; |
| Shell shell = XMLUIPlugin.getInstance().getWorkbench() |
| .getActiveWorkbenchWindow().getShell(); |
| String labels[] = new String[1]; |
| labels[0] = "OK"; |
| message = new MessageDialog(shell, "My Message Dialog", null, |
| "I have modified eclipse!", 2, labels, 1); |
| message.open(); |
| } |
| } |
| </pre> |
| |
| </li> |
| |
| </ol> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Running Your Eclipse Application</font></b></td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <ol> |
| |
| <li> |
| In the Java perspective from the menu bar select Run > Run. |
| <br> |
| <br> |
| </li> |
| |
| <li> |
| In the Run dialog select the Eclipse Application option, |
| then select new. |
| <br> |
| <br> |
| </li> |
| |
| <li> |
| Enter the location of the desired workspace, and select Run. |
| |
| <br> |
| |
| <img src="images/run.gif" alt="run" width="800" height="600" border="0"> |
| </li> |
| |
| </ol> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p> |
| When this version of Eclipse is run it compiles the source code in your |
| workspace, and runs from your target platform. A |
| second instance of Eclipse is now running and you are now |
| able to test any code modifications you have made. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p>Now test out your modification:</p> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <ol start="4"> |
| |
| <li> |
| We need a project in the navigator to test this on. Select |
| File > New > Example > Editing and Validating XML Files. |
| <br> |
| <br> |
| </li> |
| |
| <li> |
| Right click on any XML file, for example Invoice.xml. Notice |
| that the new option "Show Message Dialog" has been |
| added to this menu. |
| <br> |
| |
| <img src="images/menu.gif" alt="menu" border="0" width="370" height="663"> |
| <br> |
| |
| <br> |
| |
| </li> |
| |
| <li> |
| Select "Show a Message Dialog." A message dialog appears. |
| <br> |
| |
| <img src="images/dialog.gif" alt="My Message Dialog" border="0" width="444" height="142"> |
| </li> |
| |
| </ol> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <br> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Creating a Patch for your Modification</font></b></td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p> |
| To contribute an enhancement to WTP, you can submit |
| your code changes as a patch. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <ol> |
| |
| <li>In the Package Explorer view, right click on the modified plug-in |
| project and select Team > Create Patch. |
| <br> |
| |
| <img src="images/createpatchmenu.gif" alt="select Team > Create Patch" width="818" height="735"> |
| <br> |
| <br> |
| |
| </li> |
| |
| <li>Select "Save in File System" and enter the file name. Select Next. |
| <br> |
| |
| <img src="images/createpatch.gif" alt="Create Patch" border="0" width="543" height="543"> |
| <br> |
| <br> |
| |
| </li> |
| |
| <li>Ensure the Diff Output Format is set to "unified." Select Finish.<br> |
| <br> |
| </li> |
| |
| <li>The patch has been saved to your file system. If this were an actual feature |
| enhancement the patch could be submitted to the webtools project using |
| <a href="https://bugs.eclipse.org/bugs/"> |
| Bugzilla |
| </a> |
| |
| </li> |
| |
| </ol> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <br> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Summary</font></b></td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p>In this tutorial you learned how to set up your Eclipse environment to get started developing |
| Web Tools Platform plug-ins by creating a simple addition to the user interface. |
| </p> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p></p> |
| </td> |
| </tr> |
| <tr> |
| <td valign="top" align="right"> </td><td valign="top"> |
| <p></p> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </body> |
| </html> |