There are 2 basic ways of obtaining the sources:
Module jbpm.3 contains several subprojects:
bpel : the WS-BPEL runtime engine.console : the jBPM (currently only jPDL) console web application.designer/jpdl : the graphical designer for jPDLenterprise/cmdlistener : the command listener MDBenterprise/cmdservice : the command service SLSBenterprise/ear : the enterprise archive packagingidentity : the identity module storing users, roles and organisational datajboss/configuration : configuration for and deployment to JBoss of jPDLjboss/db : building the default hsqldb db with jPDL tables and the examplejpdl/db : jPDL SQL scripts generationjpdl/dist : building the jPDL runtime and suitejpdl/examples : the collection of example projectsjpdl/jar : the jPDL jar libraryjpdl/userguide : the jPDL user guideEach project has got its own build.xml build file. Apart from that,
there is a general build.xml that has overall clean and build targets.
The build scripts are all by default fetching their jBPM dependencies in the source directory structure. Module jbpm.3 in jbpm CVS is considered the root directory. Default navigation for dependencies is done relative.
There are two types of projects:
The structure of the artifact projects is inspired by maven. Yet still we think it is easier and more convenient for the jbpm developer community to keep ant as the central build system.
| src/main/java | Application/Library sources |
| src/main/resources | Application/Library resources |
| src/main/config | Configuration files |
| src/main/webapp | Web application sources |
| src/test/java | Test sources |
| src/test/resources | Test resources |
| readme.html | Project's readme |
Sub project build files include properties files in the following order:
${user.home}/jbpm/build.properties : This properties file
can be used to customize build properties for your environment. Since this
is located outside of the source structure, it will survive CVS updates.
build.properties located in the specific subproject
directory.
${jbpm.root}/build/build.properties is located in this
directory and contains most of the default property values.
Summarizing, ${jbpm.root}/build/build.properties in this directory
will specify all the default properties that can be overwritten in the other two
properties files mentioned above.
The general build.properties has 3 major sections:
Property jbpm.root should be specified before
${jbpm.root}/build/build.properties is loaded. It must reflect a
relative reference to the jbpm.3 module root directory.
Property module.name is optional. It is used to define
properties artifact.id (as jbpm-${module.name})
and artifact.name (as jbpm-${module.name}.jar).
All third party dependencies are resolved from a local repository. By default the
location is ${user.home}/jbpm/repository
In this directory, ant get.dependencies will fetch the jbpm required
libraries from the jboss repository and puts it in your local repository.
The local repository is a subset of the remote repository. The remote repository is http://repository.jboss.com and can be accessed via http and an ordinary web browser.
The configuration properties for customizing the repository are specified in
./build.properties and can be overwritten in
your ${user.home}/jbpm/build.properties. By default, the
local repository will be ${user.home}/jbpm/repository.
The property 'local.repository' specifies the absolute path of
your local repository and the 'lib.xxx.version' property
specifies the version for library xxx.
'get.dependencies' target.
One other special third party dependency is docbook-support.
docbook-support is a module from the jboss cvs repository that is only used in building
the jPDL docs. This is also required to build a distribution. The target to get the docbook-support
module from cvs and put it in the local repository is get.docbook.support in
the build.xml file in this directory.
For running the unit and coverage tests, JUnit and Clover need to
be in the ant lib directory. In order to get them there, it is sufficient to get
the thirdparty dependencies, verify the ant.home property in build.properties
and run the target install.ant.libs in the build.xml in this directory. That target will
copy the junit and clover libs from the local repository to the ant lib directory.
Each top level module (e.g. console, enterprise, identity, jpdl, ...) has a version.
The version of the artifacts that are being produced is defined in the
version.properties file located in the module directory.
E.g. jpdl/version.properties
The version of the jbpm artifacts that is being used to build other jbpm
artifacts is defined in the build/build.properties. Section
JBPM ARTIFACT REFERENCES
To get the build path right in your eclipse environment, you
need to set the JBPM_REPO class path variable to
your local repository.
To set your classpath variable, navigate:
'Window'-->'Preferences'-->'Java'-->'Build Path'-->'Classpath Variables'
You can import the jbpm.3 module as an eclipse project.
As an alternative, you can also import a subset of the directories in the jbpm.3 module as eclipse projects.
Please, refer to the release guide in the wiki for release instructions.