org.eclipse.wtp.releng.tools.versionchecker
Class DependencyChecker

java.lang.Object
  extended byorg.eclipse.wtp.releng.tools.versionchecker.DependencyChecker
All Implemented Interfaces:
org.eclipse.core.runtime.IPlatformRunnable

public class DependencyChecker
extends java.lang.Object
implements org.eclipse.core.runtime.IPlatformRunnable

A simple, unsupported, little-tested utility to help convert from using unconstrained pre-req'd bundles, to ones constrained to be within a certain range. For example, if a plugin's manifest.mf file specifies

Require-Bundle: org.eclipse.core.runtime

this utility will write

Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)"

or

Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)"

if -conservative is specified. In all case the lower bound is determined by the version found as this utility actually runs.

Directives:

-filter "some regx expression"

Will write/check manifest only for those plugins matching regx expression.

-conservative

Will increment 'minor' code, instead of 'major' code in upper bound of the range. This is required for those using another plugin's internal (non-API) methods, and recommended if you do not know for sure you are using API-only. The default is not-conservative, which increments the major field.

-workspaceRoot "absolute file system path name to workspace"

If specified, the manifest.mf files found in the workspace will be re-written with the results of this tool. Note. The workspace must "match" the runtime the tool is running in, for this to make any sense. The default is to simply write the recommended "Require-Bundle:" section the console log.

Note: re-export visibility and optional resolution are maintained "as is" in output (but other pre-req settings (e.g. vendor?) may be lost. The intent is to provide "ready for pasting" content, if its happens to work well for your cases.

Example invocation:

 
 java -jar startup.jar -clean -application
 org.eclipse.wtp.releng.versionchecker.dependencyChecker
 
 

Example output:

 
 bundle org.eclipse.wst.xml.core Require-Bundle:
 org.eclipse.core.runtime;bundle-version="[3.2.0,3.3.0)",
 org.eclipse.core.resources;bundle-version="[3.2.0,3.3.0)",
 org.eclipse.wst.common.uriresolver;bundle-version="[1.1.0,1.2.0)",
 org.eclipse.wst.sse.core;bundle-version="[1.1.0,1.2.0)",
 org.eclipse.text;bundle-version="[3.2.0,3.3.0)",
 org.eclipse.jem.util;resolution:=optional;bundle-version="[1.2.0,1.3.0)",
 org.eclipse.wst.validation;bundle-version="[1.1.0,1.2.0)",
 org.eclipse.emf.ecore.edit;resolution:=optional;bundle-version="[2.2.0,2.3.0)",
 org.eclipse.wst.common.emf;resolution:=optional;bundle-version="[1.1.0,1.2.0)",
 org.eclipse.emf.ecore.xmi;resolution:=optional;bundle-version="[2.2.0,2.3.0)",
 org.eclipse.wst.common.emfworkbench.integration;resolution:=optional;bundle-version="[1.1.0,1.2.0)",
 org.eclipse.wst.common.core;bundle-version="[1.1.0,1.2.0)",
 com.ibm.icu;bundle-version="[3.4.4,3.5.0)",
 org.apache.xerces;visibility:=reexport;bundle-version="[2.8.0,2.9.0)"
 
 


Field Summary
 
Fields inherited from interface org.eclipse.core.runtime.IPlatformRunnable
EXIT_OK, EXIT_RELAUNCH, EXIT_RESTART
 
Constructor Summary
DependencyChecker()
           
 
Method Summary
 java.lang.Object run(java.lang.Object o)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DependencyChecker

public DependencyChecker()
Method Detail

run

public java.lang.Object run(java.lang.Object o)
                     throws java.lang.Exception
Specified by:
run in interface org.eclipse.core.runtime.IPlatformRunnable
Throws:
java.lang.Exception