Monday, May 12, 2014

Red Hat JBoss BRMS & JBoss BPM Suite - building the kjar from maven command line



The new JBoss BRMS & JBoss BPM Suite 6 has been out for a few months now and there is a fantastic integrated dashboard experience allowing for the business users or analysts to design, govern, test, and run rules, events, and process projects.

On the developer side there is the integration with JBoss Developer Studio (a.k.a. Eclipse with JBoss tooling) where the resulting project that is built and deployed into the local maven infrastructure can be added as a dependency for their development activities.

What about an organization or team that decides to rely only on the developer tooling to create their rules, events and eventual processes in JBoss BRMS & JBoss BPM Suite products?

How does one build and deploy these project artifacts as a typical kjar into their development infrastructure?

What if you want to generate maven artifacts and eventually deploy through existing continuous integration frameworks such as Jenkins?

Thomas Qvarnstrom originally described this setup on github.

If you try to build the project after cloning it from the business-central maven repository, then you will find that there is a missing dependency to org.jbpm:jbpm-bmpn2. This dependency is automatically added when you build the project inside business-central, but you will need to adjust your projects pom.xml and add the following:
<plugins>
  <plugin>
    <groupId>org.kie</groupId>
    <artifactId>kie-maven-plugin</artifactId>
    <version>6.0.2-redhat-6</version>
    <extensions>true</extensions>
    <dependencies>
       <dependency>
         <groupId>org.jbpm</groupId>
         <artifactId>jbpm-bpmn2</artifactId>
         <version>6.0.2-redhat-6</version>
       </dependency>
    </dependencies>
  </plugin>
</plugins>
You will also need to ensure you have configured the JBoss Maven repository as outlined in this previous Tips & Tricks article.

After you adjust as described above, mvn clean package will work fine even though packaging type is kjar.

Enjoy!