ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/README
Revision: 1.10
Committed: Sun May 20 00:57:47 2001 UTC (23 years, 7 months ago) by tdb
Branch: MAIN
Branch point for: SERVER_PIRCBOT
Changes since 1.9: +18 -0 lines
Log Message:
General update to the README files.

File Contents

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