2 Replies Latest reply on Sep 8, 2008 10:18 AM by thomas.diesler

    Changes needed in the produced distribution for jBPM 3.3.0

    koen.aers

      This topic relates to http://jira.jboss.org/jira/browse/JBPM-1420

      After the Mavenization of jBPM, the layout of the distributable has changed so that the designer cannot find the necessary info anymore when the expanded distro is added as a runtime in the designer's preferences.

      Assume that the jBPM location is called $JBPM_HOME. The designer then looks for the file $JBPM_HOME/src/resources/gpd/version.info.xml. For jPDL 3.2.3 this file contained the following information:

      <jbpm-version-info name="jBPM jPDL 3.2.3"
       namespace="urn:jbpm.org:jpdl-3.2">
      
       <classpathentry path="jbpm-jpdl.jar" src="src" />
       <classpathentry path="jbpm-identity.jar" src="src" />
      
       <classpathentry path="lib/activation.jar" />
       <classpathentry path="lib/antlr-2.7.6.jar" />
       <classpathentry path="lib/asm.jar"/>
       <classpathentry path="lib/bsh.jar"/>
       <classpathentry path="lib/cglib.jar"/>
       <classpathentry path="lib/commons-collections.jar"/>
       <classpathentry path="lib/commons-logging.jar"/>
       <classpathentry path="lib/dom4j.jar"/>
       <classpathentry path="lib/hibernate3.jar"/>
       <classpathentry path="lib/hsqldb.jar"/>
       <classpathentry path="lib/jboss-j2ee.jar"/>
       <classpathentry path="lib/jcr-1.0.jar"/>
       <classpathentry path="lib/junit.jar"/>
       <classpathentry path="lib/log4j.jar"/>
       <classpathentry path="lib/mail.jar"/>
       <classpathentry path="lib/servlet-api.jar"/>
      
       <config path="config"/>
       <examples path="examples" />
      
      </jbpm-version-info>


      This info is used by the designer for different purposes:

      - when creating a new process definition the namespace attribute is used to put it in the process-definition.xml file

      - when creating a new jBPM project:
      * the classpath entry elements become classpath entries in the Eclipse project
      * the name attribute becomes the name of the classpath container
      * the GPD looks up the configuration files used in the Eclipse project based on the config element
      * the GPD adds the simple process definition example to the Eclipse project that it finds by using the examples element

      It would be best for now to include this information in the distribution in the way that it is expected by the GPD. The minimal approach is that the Maven build adds these artifacts in the produced distribution.

      Where in the build do I start to perform these changes?

      Regards,
      Koen