| 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 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 35 |  | make install prefix=/some/path | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 36 |  | make clean | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 37 |  |  | 
 
 
 
 
 
 
 
 | 38 | + | Alternatively there is a "make dist" target which will build a | 
 
 
 
 
 
 
 
 | 39 | + | distribution archive containing the built code, the javadoc, and | 
 
 
 
 
 
 
 
 | 40 | + | the source code. | 
 
 
 
 
 
 
 
 | 41 | + |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 42 |  | In more detail, the first line ensures that the required libraries are | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 43 |  | available, and sets the Makefiles up so they know where everything is. | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 44 |  | The second line compiles all of the code and creates a JAR file in the | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 60 |  | FilterManager | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 61 |  | RootFilter | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 62 |  | FilterMain | 
 
 
 
 
 
 
 
 | 63 | + | Client | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 64 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 65 |  | It is not necessary to start both the ClientInterfaceMain and DBInterface, | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 66 |  | the server will handle only one or both. Multiple Filter's can be started | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 101 |  | Installs the server to a given directory. Also takes a prefix; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 102 |  | make install prefix = /usr/i-scream | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 103 |  |  | 
 
 
 
 
 
 
 
 
 
 
 | 104 | < | cvsbuild | 
 
 
 
 
 
 
 
 
 | 104 | > | dist | 
 
 
 
 
 
 
 
 
 
 
 | 105 |  |  | 
 
 
 
 
 
 
 
 
 
 
 | 106 | < | Builds any tagged version of the server from CVS. This saves the need to | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 107 | < | checkout a version to build it, as it's all done automatically; | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 82 | < | make install rev = RELEASE_1 | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 83 | < | Default tag is HEAD. | 
 
 
 
 
 
 
 
 
 | 106 | > | Builds a full distribution of the server. | 
 
 
 
 
 | 107 | > | make dist dest=/tmp | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 | 108 |  |  | 
 
 
 
 
 
 
 
 | 109 | + | dist-bin | 
 
 
 
 
 
 
 
 | 110 | + |  | 
 
 
 
 
 
 
 
 | 111 | + | Builds a binary distribution of the server. | 
 
 
 
 
 
 
 
 | 112 | + | make dist dest=/tmp | 
 
 
 
 
 
 
 
 | 113 | + |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 114 |  | javadoc | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 115 |  |  | 
 
 
 
 
 
 
 
 
 
 
 
 
 | 116 |  | Builds all the javadoc pages in the `doc' directory. | 
 
 
 
 
 
 
 
 | 117 | + |  | 
 
 
 
 
 
 
 
 | 118 | + | src | 
 
 
 
 
 
 
 
 | 119 | + |  | 
 
 
 
 
 
 
 
 | 120 | + | Copies the whole src tree in to the `build/src' directory. | 
 
 
 
 
 
 
 
 | 121 | + |  | 
 
 
 
 
 
 
 
 | 122 | + | createtable | 
 
 
 
 
 
 
 
 | 123 | + |  | 
 
 
 
 
 
 
 
 | 124 | + | Creates the ipacket table in the mySQL database. This is required for | 
 
 
 
 
 
 
 
 | 125 | + | the database side of the server. | 
 
 
 
 
 
 
 
 | 126 | + |  | 
 
 
 
 
 
 
 
 | 127 | + | droptable | 
 
 
 
 
 
 
 
 | 128 | + |  | 
 
 
 
 
 
 
 
 | 129 | + | Drops an ipacket table from the mySQL database if one exists. |