← Back to team overview

dhis2-devs team mailing list archive

Complete build cycle with DHIS2, including installer and docs

 

Dear Devs,

I have been working on developing a procedure to build DHIS2, the
documentation and an installer from sources. I have a procedure that
works for me, and would now like to offer this up for discussion, and
potential inclusion in the trunk. And to see what else there needs to
be done. I have pretty much achieved what I needed, but this may not
fit everyone's  needs.

First of all, there are three main projects that are needed. I created
a folder /workspace.

and then (if you do not already have all of this)

bzr branch lp:dhis2
bzr branch lp:~dhis2-documenters/dhis2/dhis2-docbook-docs
bzr branch lp:~jason-p-pickering/+junk/dhis2-live-installer

You can get a copy of BitRock install builder from here
http://installbuilder.bitrock.com/download-step-2.html. Install it
somewhere on your system.

I then created a build.sh file with the following content.  Modify the
three environment variables to suit your needs.

#/bin/sh
export JAVA_HOME=/usr/local/java/jdk1.6.0_10/
export PATH=$PATH:/home/wheel/apache-maven-2.2.1/bin/
export BITROCK_HOME=/home/wheel/installbuilder-6.2.7/
echo "Building DHIS 2 Core..."
cd dhis2/dhis-2
mvn clean install -Dtest=skip -DfailIfNoTests=false
echo "Building DHIS 2 Web..."
cd dhis-web
mvn clean install -Dtest=skip -DfailIfNoTests=false
echo "Packing DHIS 2 Web Portal..."
cd dhis-web-portal
mvn clean install -Dtest=skip -DfailIfNoTests=false
echo "Builidng DHIS2 Live Package"
cd ../../../dhis-live/
mvn clean package -Dtest=skip -DfailIfNoTests=false
echo "Building documentation"
cd ../../dhis2-docbook-docs/
mvn package
echo "Copying DHIS2  resources to installer directories"
cd ../
rm -rf dhis2-live-installer/webapps/dhis
cp -r dhis2/dhis-2/dhis-web/dhis-web-portal/target/dhis/
dhis2-live-installer/webapps/
echo "Copying DHIS2 Live supoprt files to installer directories"
cp dhis2/dhis-live/target/dhis2-live.exe dhis2-live-installer/dhis2-live.exe
cp dhis2/dhis-live/target/dhis2-live-jar-with-dependencies.jar
dhis2-live-installer/dhis2-live.jar
echo "Copying Documentation to installaer directories"
cp dhis2-docbook-docs/target/site/en/pdf/dhis2_user_manual_en.pdf
dhis2-live-installer/docs/
echo "Building installer"
cd dhis2-live-installer
mvn exec:exec


Place this build.sh script in the /workspace directory, the same as
the three source branches.
My directory looks something like this..
/workspace
|build.sh
|_dhis2
|_dhis2-docbook-docs
|_dhis2-live-installer

Execute this build script. You will now enter into a rather lengthy
process depending on the speed of your machine. At the end. you will
have a Windows installer based on the latest source code and
documentation. These will be output to the BITROCK_HOME/output
directory.

Ideally, we can create an uber-pom to take care of this packaging, but
this will have to wait a bit.

Best regards,
Jason



Follow ups