IBM Streams 4.2

Understanding Toolkit Dependencies

A toolkit dependency is a requirement that another toolkit is available for application compilation.

A complete set of dependencies is resolved as a set of file system locations that is passed as a path list on the -t option of the sc compiler.

In Streams Studio there are two methods to configure the dependencies:

Configuring dependencies with name and version

In this method, the info.xml file for each toolkit identifies the name and version of each toolkit on which the configured toolkit has a direct dependency.

At application compile-time, Streams Studio resolves the direct dependencies to a list of direct and indirect dependencies and the associated file system locations for those dependencies. If any of the required dependencies cannot be resolved, an error message is generated and the application compilation fails.

When Streams Studio resolves the dependencies for a project, each dependency can resolve to one of the following locations:
  • An open SPL project in the Eclipse workspace
  • An external toolkit that has is loaded by the Streams Explorer
This method provides more flexibility for changing the locations of toolkits that are used at compile time without having to restart Eclipse.

The direct dependencies for a toolkit are those dependencies that are specified directly in the info.xml file for that toolkit. The indirect dependencies for a toolkit are dependencies that are specified in the info.xml file of one of the toolkits upon which the configured toolkit is dependent. To configure the direct dependencies for a toolkit, see Editing toolkit information and dependencies.

Example

Consider toolkits ToolkitA, ToolkitB, ToolkitC, and ToolkitD. If ToolkitA specifies a direct dependency on ToolkitB and ToolkitB specifies direct dependencies on toolkits ToolkitC and ToolkitD, then ToolkitC and ToolkitD become indirect dependencies of ToolkitA.

With these dependencies, if project Application1 now specifies a direct dependency on ToolkitA, the project also has indirect dependencies on ToolkitB, ToolkitC, and ToolkitD.

Configuring dependencies with STREAMS_SPLPATH

To configure dependencies with the STREAMS_SPLPATH environment variable, configure this environment variable before you start Streams Studio. When Streams Studio starts and initializes, the toolkits that are identified in the STREAMS_SPLPATH variable are loaded by the Streams Explorer. At application compile time, if the project that is compiled has no direct toolkit dependencies that are defined, all the toolkits that are identified in the STREAMS_SPLPATH are used when you compile the application.

In this method, no direct dependencies are specified between toolkits. You must ensure that the STREAMS_SPLPATH environment variable has the complete list of required paths. To change the specified path list, modify the STREAMS_SPLPATH environment variable and restart Eclipse.