<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../wtp.xsl"?>
<html>
	<head>
		<meta name="root" content="../../" />
		<title>web tools platform adopters</title>
	</head>
	<body>
		<h1>WTP Usage Scanner</h1>

		<h2>Download and install the Eclipse API scanner plugins</h2>
		<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>

		<h2>Tutorial on how to scan for adopters breakage</h2>
		<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.wtptools/api/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>

	</body>
</html>