To get the sources, install Bazaar first.
Then, depending on which branch you need, do one or more of:
bzr branch lp:~codak/codak/codak-core codak-core
bzr branch lp:~codak/codak/codak-terms codak-terms
bzr branch lp:~codak/codak/codak-mysql codak-mysql
bzr branch lp:~codak/codak/codak-dist codak-dist
Explanation of the branches:
If, at any later time, you want to update a local branch to the latest revision, cd to the branch directory and type:
bzr pull
CoDAK uses Maven to manage the build process. This includes getting all the dependencies, compiling sources, etc. Make sure you know the basics of Maven before continuing.
To build everything, go to the branch's root directory and type:
mvn install
To build only a specific package, go to the package's root directory and type:
mvn -N -f ../pom.xml install
mvn install
The first command is required only the first time. It tells Maven to install the parent package but any other package down the tree.
To run a web application directly from the source tree, cd to the package directory (e.g., codak-core/webif) and do:
mvn jetty:run
Optionally, specify a port number:
mvn jetty:run -Djetty.port=8181
To replace an already installed processing module, cd to the package directory (e.g., codak-core/sentencer) and do:
mvn package
to build the package, and then do:
sudo make install
to update the symbolic link of the previously installed package, which will now point to the freshly built package in the source tree. This means that you can rebuild the package without doing 'sudo make install' again. It also means that deleting the source tree without restoring the symbolic link will probably leave you with a broken CoDAK installation.
After building the package, you also have to restart Jetty or PipeT (depending on how the module is served) to load the updated module.
To replace an already installed extension, cd to the extension directory (e.g., codak-terms/termex-extension) and follow the instructions above for processing module debugging. Restart Jetty to load the updated extension.