platform-update-home/doc/validator/validator.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (download) (as text) (annotate)
Tue May 11 00:39:36 2004 UTC (5 years, 6 months ago) by dbirsan
Branch: MAIN
CVS Tags: v20050526, v20040514, R3_0, R3_1, HEAD
Changes since 1.2: +2 -1 lines
*** empty log message ***
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Validation tool for eclipse features and plugins</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">


<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"
	type="text/css">
</head>
<body bgcolor="#ffffff" text="#000000">

<h3>Validation Tool for Eclipse Features and Plugins</h3>

<address>Contributed by George Voutsinas <a href="mailto:(voutsin@ca.ibm.com">(voutsin@ca.ibm.com</a>)</address>


<p>&nbsp;<a href="validate.jar">Download the tool.</a> (Note: source code is 
included in the jar).</p>
<p><br>
This tool is designed to validate the installed image of an Eclipse based 
product. The primary goal is to ensure that the installed product can be 
serviced via&nbsp; the Eclipse Update Manager successfully after deployed. No 
modifications are made to the product, and only the feature.xml, plugin.xml, and 
fragment.xml files are processed.<br>
&nbsp;</p>
<p><b>Run the tool:</b> java -cp validate.jar com.ibm.validate.Product 
&lt;parameters&gt;</p>
<p><br>
Parameters:</p>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
  <tr>
    <td width="20%" bgcolor="#C0C0C0">-main &lt;drive&gt;:\location </td>
    <td width="50%" bgcolor="#C0C0C0">Location of your features/plugins folders. 
    These locations contain the features and plug-ins that need to be verified.<br>
    You can specify multiple &quot;-main&quot; parameters if your product is installed 
    into multiple locations.</td>
  </tr>
  <tr>
    <td width="20%" bgcolor="#FFFFFF">-base &lt;drive&gt;:\location</td>
    <td width="50%" bgcolor="#FFFFFF">Location of a dependent product that we 
    don't want to verify, but contains features our product references. This 
    location is only parsed<br>
    to verify that everything our product requires, exists.</td>
  </tr>
  <tr>
    <td width="20%" bgcolor="#C0C0C0">-log &lt;drive&gt;:\location</td>
    <td width="50%" bgcolor="#C0C0C0">Location of log file. If this parameter is 
    not specified, the log is dumped to the console.</td>
  </tr>
</table>
<p><br>
An example of WSAD verify:</p>
<p>Check that all features/plugins are installed in wstools folder and they 
require the wswb features installed in the eclipse folder: -main c:\wsad\wstools 
-base <a href="file:///c:/wsad/eclipse">c:\wsad\eclipse</a><br>
&nbsp;</p>
<p>Here are some of the checks the tool performs:</p>
<h4>Feature testing:
</h4>
<ul>
  <li>verifies that all the feature.xml's are well formed.
</li>
  <li>verifies that all the "include" features, included by each feature can be 
resolved.  Optional features don't need to be there for this test to pass. </li>
  <li>verifies that all the plugin's owned by a feature exist.  No exceptions.
  </li>
  <li>verifies that all features have a parent feature.  Only patches and features 
that have an Update URL are exempt.  I think this means everything is 
serviceable. </li>
</ul>
<h4>Plug-in testing:
</h4>
<ul>
  <li>verifies that all plugin or fragment xml's are valid or exist.  Although 
folders can exist in the plugin structure with no xml, we try to avoid this.
  </li>
  <li>verifies that all plug-in's have a parent feature.  This is the only way to 
make sure they can be serviced.
Verify that all plug-in's have a SINGLE parent feature.  Just to be safe.
</li>
</ul>
<h4>Product testing:
</h4>
<ul>
  <li>verifies that all features are unique across the entire product.
</li>
  <li>verifies that all plug-ins are unique across the entire product.
</li>
  <li>verifies that all "require" features, required by each feature can be 
resolved.  If my WDSC feature requires wswb2.1.1, then it should exist.  It also require the versions to match and ignore any of the "match" 
variables. Yes, we're just being overly specific. </li>
  <li>verifies that all required plug-ins, required by each feature, can be 
  resolved. Again, we're being VERY specific, so versions matter. </li>
  <li>lastly, build a feature hierarchy. This just lets you&nbsp; see how things 
  are organized, and if there's a loop anywhere in the dependencies, it should 
  be caught. </li>
</ul>
<p>Happy testing :-)</p>
<p>&nbsp;</p>


</body>
</html>