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

    java.lang.Object
      org.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`