Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
h4. Build Requirements

In order to build the components of the dcm4chee archive application you will need to download and install:
* Ant [http://ant.apache.org/] (Get the latest version.)
* XDoclet [http://xdoclet.sourceforge.net/|http://xdoclet.sourceforge.net/] (Get the latest version. Currently 1.2.3)
* Apache FOP 0.95 [http://xmlgraphics.apache.org/fop/] (Get 0.95. Do not use 0.95 beta or 1.0+)
* Jakarta Cactus 1.8.1 [http://archive.apache.org/dist/jakarta/cactus/binaries/] (Retired at 1.8.1. Only needed to build the test suite for dcm4jboss-ejb, not needed to build the application.)
* JSch 0.1.49 [http://sourceforge.net/projects/jsch/files]
* jCIFS 1.3.17 [http://jcifs.samba.org/src]
* Castor SDK 1.3.1 (This is a commercial library that was introduced as a dependency in 2.18.0, see [DCMEE-1920|http://www.dcm4che.org/jira/browse/DCMEE-1920])
* JBoss 4.2.3 GA [http://jbossas.jboss.org/downloads.html] (Get 4.2.3 GA. If you use JDK 6, it is OK to use jboss-4.2.3.GA-jdk6. Do not use any other versions.)
* Maven [http://maven.apache.org/] (Get the latest version.)

In addition, you'll need the dcm4chee source code. In order to create the [dcm4chee source directories|Organization of the Source Code], check out dcm4jboss-all from SVN:
{noformat}
svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4che14/trunk dcm4che14
svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-arr/trunk dcm4chee-arr
svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-audit/trunk dcm4chee-audit
svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-docstore/tags/DCM4CHEE_XDS_1_0_3 dcm4chee-docstore
svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-xds-infoset/tags/DCM4CHEE_XDS_1_0_3 dcm4chee-xds-infoset
svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-arc3-entities/trunk dcm4chee-arc3-entities
svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-icons/trunk dcm4chee-icons
svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-web-common/trunk dcm4chee-web-common
svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-dashboard/trunk dcm4chee-dashboard
svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-usr/trunk dcm4chee-usr
svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-cleanup/trunk dcm4chee-cleanup
svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-web/trunk dcm4chee-web
svn co https://dcm4che.svn.sourceforge.net/svnroot/dcm4che/dcm4chee/dcm4chee-arc/trunk dcm4jboss-all
{noformat}

Following instructions are for building binary distribution package for your appropriate database. Replace <database> string by your database name.
Supported <database> arguments:
db2, firebird, hsql, mssql, mysql, oracle, psql


h4.


h4. Build Dcm4che14

cd to the dcm4che14 checkout directory
ant
_Note: It works with Java 6 and lower only. It doesn't work with Java 7 - for details see_ _[http://www.dcm4che.org/jira/browse/DCMOLD-219]__._

h4. Build Dcm4chee-arr

cd to the dcm4chee-arr checkout directory
mvn install \-Ddb=<database>

h4. Build Dcm4chee-audit

cd to the dcm4chee-audit checkout directory
mvn install

h4. Build Dcm4chee-docstore

cd to the dcm4chee-docstore checkout directory
mvn install

h4. Build Dcm4chee-xds-infoset

cd to the dcm4chee-xds-infoset checkout directory
mvn install

h4. Build Dcm4chee-web

(You will need to have 5 following checked out projects at the same folder level like dcm4chee-web: dcm4chee-arc3-entities, dcm4chee-icons, dcm4chee-web-common, dcm4chee-dashboard, dcm4chee-usr.)

cd to the dcm4chee-web checkout directory
mvn \-Pall \-Ddb=<database> install

h4. Build Instructions

Create an environment variable pointing to the Ant home directory ({{ANT_HOME}}) and add the {{$ANT_HOME/bin directory}} to your {{PATH}}.

The build scripts {{dcm4jboss-all/dcm4jboss-xxx/build.xml}} assumes following locations of XDoclet, JBoss, Apache FOP, Jakarta Cactus and dcm4che14 (but check for updated version numbers):

{{xdoclet.home=$\{user.home\}/xdoclet-1.2.3}}

{{jboss.home=$\{user.home\}/jboss-4.2.3.GA}}

{{fop.home=$\{user.home\}/fop-0.95}}

{{cactus.home=$\{user.home\}/cactus-1.8.1-bin}}

{{jsch.home=${user.home}/jsch-0.1.49}}

{{jcifs.home=${user.home}/jcifs-1.3.17}}

{{castor.home=${user.home}/castor-1.3.1}}

{{m2.repos=$\{user.home\}/.m2/repository}}

{{dcm4che14.home=$\{user.home\}/dcm4che14/build/dcm4che-1.4.31}}

docstore-version=1.0.3

infoset-version=1.0.3
{tip:title=3rd Party Dependency Paths}
Each of the dcm4chee projects contains a file called {{build.properties.default}} in its root directory. These files contain the paths to dependencies to third party libraries that the projects need in order to compile. Copy each {{build.properties.default}} file to {{build.properties}} in the same directory. Edit these files and put in the necessary path information so that the compilation process can find the dependencies. The build scripts will automatically look for the {{build.properties}} files.

Alternatively, you may combine all of the {{build.properties}} entries into a single {{build.properties}} file in the root {{dcm4jboss-all}} directory in order to avoid editing so many files.
{tip}
{info}Castor is a commercial SDK that that is not readily downloadable.  If you are not going to use the Castor HSM module, you will need to remove the code and deployment descriptors for that module before compiling.

TODO:&nbsp; HSM plugins should be broken up into separate, optional modules.&nbsp;
{info}
&nbsp;
Change to the working build directory:
\\
{noformat}
cd dcm4jboss-all/dcm4jboss-build
{noformat}
and invoke:
{noformat}
ant <database>-dist
{noformat}
to build all components and pack them in binary distribution package:

{{target/dcm4chee-%version%-<database>.zip}}