<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>web tools platform adopters</title>
</head>
<body>
<table width="100%" cellspacing="5" cellpadding="2" border="0">
<tbody>
<tr>
<td width="60%" align="left"><font class="indextop">WTP Usage Scanner</font>
<br>
<font class="indexsub">web tools platform adopters</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" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Download and install the Eclipse API scanner plugins</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
		The tool for scanning adopter breakages are developed as part of
		the Eclipse API scanner. The Eclipse API scanner is available as
		two Eclipse plug-ins. You can overlay them on top of any Eclipse
		3.1+ drivers.
		<ol>
			
<li>
			Download the 
			<a href="http://www.eclipse.org/downloads/download.php?file=/webtools/downloads/wtp-apiscanner.zip">Eclipse API scanner</a>
			and unzip it on top of your Eclipse driver.
			</li>
			
<li>Start Eclipse.</li>
		
</ol>
		
</p>
</td>
</tr>
<tr>
<td valign="top" bgcolor="#0080c0" align="left" colspan="2"><b><font face="Arial,Helvetica" color="#ffffff">Tutorial on how to scan for adopters breakage</font></b></td>
</tr>
<tr>
<td valign="top" align="right">&nbsp;</td><td valign="top">
<p>
		
<ol>
			
<li>
			First, you need to configure the location of the adopter usage reports.
			These reports are committed to
			<b>dev.eclipse.org:/cvsroot/webtools/releng.builder/tools/apitools/adopter_usages</b>.
			Check out the <b>adopter_usages</b> folder from CVS.
			</li>
			
<li>
			To configure the adopter usage reports, go to preferences.
			Select the <b>Adopter Usage Reports</b> tab.
			<p>
<img src="img/pref_adopter_reports1.gif"></p>
			
</li>
			
<li>
			Click <b>Add</b> and choose the project(s) that contains the adopter usage
			reports. Click <b>Browse</b> and choose the folder where you want the
			breakage reports to be generated into. Click <b>OK</b> to exit out of preferences.
			<p>
<img src="img/pref_adopter_reports2.gif"></p>
			
</li>
			
<li>
			You now have everything setup. You can continue with your day-to-day
			development. Before you commit your code into CVS, make sure you scan
			your code for adopter breakages. For this tutorial, we will use the
			org.eclipse.wst.server.core plug-in as an example. Check out the
			org.eclipse.wst.server.core plug-in from CVS.
			</li>
			
<li>
			In the <b>Resources</b> perspective, right click on the
			org.eclipse.wst.server.core project, select <b>API</b> and choose
			<b>Scan for breakages</b>. 
			<p>
<img src="img/action_scan_breakage1.gif"></p>
			
</li>
			
<li>
			You should receive a popup indicating that the org.eclipse.wst.server.core
			plug-in is compatible with the adopter usage reports.
			<p>
<img src="img/action_scan_breakage2.gif"></p>
			
</li>
			
<li>
			Now, we will remove an method from the one of the Java source and scan
			again. Open the servercore/org/eclipse/wst/server/core/IServer.java in
			the Java editor, scroll down to the bottom of the file and comment out
			the <b>restartModule(IModule[] module, IOperationListener listener)</b>
			method and save.
			<p>
<img src="img/editor_java.gif"></p>
			
</li>
			
<li>
			Right click on the org.eclipse.wst.server.core project again, select
			<b>API</b> and choose <b>Scan for breakages</b>.
			</li>
			
<li>
			After the operation completes, the <b>Adopter Breakages View</b> will
			open and you will find all the adopter breakages in this view.
			<p>
<img src="img/view_adopter_breakages.gif"></p>
			
</li>
			
<li>
			The Adopter Breakages view is structured in the following format:
			<ul>
				
<li>
				Plugin
				<ul>
					
<li>
					Contact information of the adopter
					<ul>
						
<li>
						Classes that are used by this adopter. Classes that show up
						here means either they are removed, or one or more of their
						methods/fields are removed.
						<ul>
							
<li>Removed methods that are used by this adopter</li>
							
<li>Removed fields that are used by this adopter</li>
						
</ul>
						
</li>
					
</ul>
					
</li>
				
</ul>
				
</li>
			
</ul>
			You should either restore the removed classes/methods/fields or notify
			the adopter that these classes/methods/fields will be removed in the
			coming builds. Please refer to the non-API deprecation policy for details
			on what to do in this case. 
			</li>
		
</ol>
		
</p>
</td>
</tr>
</tbody>
</table>
</body>
</html>
