| 1 |
i-scream Server README |
| 2 |
====================== |
| 3 |
|
| 4 |
ANT build vs Make build |
| 5 |
----------------------- |
| 6 |
|
| 7 |
** We have revamped the Makefile, but not the ANT build ** |
| 8 |
** So please use the Makefile for now ** |
| 9 |
|
| 10 |
There are now two methods of compiling the server distribution. The existing |
| 11 |
Makefile method is still supported, but is of course limited in the OS's on |
| 12 |
which it can be run. The preffered method will be an XML based build script |
| 13 |
using ANT (http://jakarta.apache.org/ant) which will run on any platform. |
| 14 |
However, at this stage the ANT scripts are not completely finished and may |
| 15 |
have some odd behaviour. |
| 16 |
|
| 17 |
We envisage both the Makefile and ANT setups being maintained for some time, |
| 18 |
giving the developer a choice. This document still outlines the Makefile |
| 19 |
method of compiling, and will do so until such a point as the ANT scripts |
| 20 |
are deemed reliable. If, however, you wish to give the ant script a whirl, |
| 21 |
try the following after setting up ANT (see the ANT website for details); |
| 22 |
|
| 23 |
ant help |
| 24 |
|
| 25 |
Compiling |
| 26 |
--------- |
| 27 |
|
| 28 |
The server can now easily be compiled without worrying about setting up any |
| 29 |
of the CLASSPATH's, or setting the path to JacORB. It's all self contained. |
| 30 |
|
| 31 |
Typical sequence to compile; |
| 32 |
|
| 33 |
./configure |
| 34 |
make build |
| 35 |
make install prefix=/some/path |
| 36 |
make clean |
| 37 |
|
| 38 |
In more detail, the first line ensures that the required libraries are |
| 39 |
available, and sets the Makefiles up so they know where everything is. |
| 40 |
The second line compiles all of the code and creates a JAR file in the |
| 41 |
build directory. |
| 42 |
The install line installs the server and libraries to a given location, |
| 43 |
along with the configuration files. |
| 44 |
Finally, the last line cleans up. |
| 45 |
|
| 46 |
Running |
| 47 |
------- |
| 48 |
|
| 49 |
It is recommended that the components are started up in the following order. |
| 50 |
|
| 51 |
(This can be on multiple hosts if required, as long as the order is correct). |
| 52 |
|
| 53 |
Core |
| 54 |
ClientInterfaceMain |
| 55 |
DBInterface |
| 56 |
FilterManager |
| 57 |
RootFilter |
| 58 |
FilterMain |
| 59 |
Client |
| 60 |
|
| 61 |
It is not necessary to start both the ClientInterfaceMain and DBInterface, |
| 62 |
the server will handle only one or both. Multiple Filter's can be started |
| 63 |
as required. |
| 64 |
|
| 65 |
These are all loaded through the ComponentManager. More details on how to |
| 66 |
operate this will be provided later on. Typing "make run" will make an |
| 67 |
attempt to load it up. |
| 68 |
|
| 69 |
Check build/etc/default.properties to set the startup list and order. |
| 70 |
|
| 71 |
nb. You will need to ensure that the relevant libraries are in the |
| 72 |
build/lib directory. See the README in there for details. |
| 73 |
|
| 74 |
Makefile |
| 75 |
======== |
| 76 |
The following targets are available; |
| 77 |
|
| 78 |
build |
| 79 |
|
| 80 |
Compile the entire server package, include the IDL file. Generates the |
| 81 |
JAR file for the final package. |
| 82 |
|
| 83 |
run |
| 84 |
|
| 85 |
Run's the server from the JAR file in /build. |
| 86 |
|
| 87 |
clean |
| 88 |
|
| 89 |
Cleans all compiled code, and javadoc pages. |
| 90 |
|
| 91 |
distclean |
| 92 |
|
| 93 |
Also cleans files left by configure, including the libraries. |
| 94 |
|
| 95 |
install |
| 96 |
|
| 97 |
Installs the server to a given directory. Also takes a prefix; |
| 98 |
make install prefix = /usr/i-scream |
| 99 |
|
| 100 |
dist |
| 101 |
Builds a full distribution of the server. |
| 102 |
make dist ver = 1.0 |
| 103 |
Default ver is HEAD. |
| 104 |
|
| 105 |
dist-bin |
| 106 |
Builds a binary distribution of the server. |
| 107 |
make dist ver = 1.0 |
| 108 |
Default ver is HEAD. |
| 109 |
|
| 110 |
javadoc |
| 111 |
|
| 112 |
Builds all the javadoc pages in the `doc' directory. |
| 113 |
|
| 114 |
buildutil |
| 115 |
|
| 116 |
(it is recommended you run a "make clean" first) |
| 117 |
Builds a seperate JAR file, in `build' called `iscream-util.jar'. |
| 118 |
This file contains just the uk.ac.ukc.iscream.util package for |
| 119 |
use in other parts of the system, such as the clients. |
| 120 |
|
| 121 |
createtable |
| 122 |
|
| 123 |
Creates the ipacket table in the mySQL database. This is required for |
| 124 |
the database side of the server. |
| 125 |
|
| 126 |
droptable |
| 127 |
|
| 128 |
Drops an ipacket table from the mySQL database if one exists. |