Using components from another application or library


Before you begin, create a project and a deployment package for application (or smart library) development. 

If your smart bundle has a dependency on the other available smart bundles, you should specify the dependency in the pom.xml file located in the bundle project. For example, your bundle may have a dependency on the Approval library.

Notes

  • You cannot configure smart bundles with circular dependencies on each other. A circular dependency is a relation between two or more bundles that either directly or indirectly depend on each other to function properly.
  • You must deploy a bundle’s dependencies before you deploy a bundle to BMC Helix Innovation Studio.  

To add the dependency in the pom.xml file

  1. Open the pom.xml file located in the bundle project. For example, projects\work-order-lib\bundle\pom.xml.
  2. Add the dependency in the maven-bundle-plugin configuration, using the following syntax:

    ,<groupId>.<artifactId>;<version>,

    Note: The dependencies are delimited by commas and the version information is separated using a semicolon.   
    For example, if you want to add the dependency on the Standard library and Approval library, use the following syntax:

    <RxBundle-Dependencies>standardlib;9.5.00-SNAPSHOT,com.bmc.arsys.rx.approval;9.5.00-SNAPSHOT</RxBundle-Dependencies>

The following is the sample of maven-bundle-plugin configuration in the bundle pom.xml file :

<plugin>
     <groupId>org.apache.felix</groupId>
     <artifactId>maven-bundle-plugin</artifactId>
     <version>${maven-bundle-plugin.version}</version>
     <extensions>true</extensions>
     <configuration>
           <instructions>
                 <Bundle-Name>${rx-sdk.bundleName}</Bundle-Name>
                 <Bundle-SymbolicName>${rx-sdk.bundleId}</Bundle-SymbolicName>
                 <Bundle-Activator>com.example.app1.bundle.App1Application</Bundle-Activator>
                 <Import-Package>*;resolution:=optional</Import-Package>
                 <Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
                 <Bundle-Description>${rx-sdk.bundleDescription}</Bundle-Description>
                 <Bundle-Vendor>${rx-sdk.bundleDeveloperId}</Bundle-Vendor>
                 <RxBundle-DeveloperName>${rx-sdk.bundleDeveloperName}</RxBundle-DeveloperName>
                 <RxBundle-FriendlyName>${rx-sdk.bundleFriendlyName}</RxBundle-FriendlyName>
                 <RxBundle-IsApplication>${rx-sdk.bundleIsApplication}</RxBundle-IsApplication>
                 <RxBundle-Dependencies>standardlib;9.5.00-SNAPSHOT,com.example.somelibrary;1.0.00-SNAPSHOT</RxBundle-Dependencies>
           </instructions>
     </configuration>
</plugin>

Where to go from here

Using-code-from-open-source

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*