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
VMware InstallBuilder :: Download InstallBuilder. 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

Nice work Jason.

···

On Thu, Feb 18, 2010 at 1:48 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

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


Mailing list: https://launchpad.net/~dhis2-devs

Post to : dhis2-devs@lists.launchpad.net

Unsubscribe : https://launchpad.net/~dhis2-devs

More help : https://help.launchpad.net/ListHelp


With Regards,
Brajesh