ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/server/README
Revision: 1.11
Committed: Fri Jun 7 16:12:47 2002 UTC (22 years, 6 months ago) by tdb
Branch: MAIN
Changes since 1.10: +12 -6 lines
Log Message:
My first bash at a new-style Makefile setup. This one generates proper
distfiles in subdirectories with version numbers, etc. I'll port it to the
other parts of i-scream when I've tested it a bit more.
This will also lead the way for me to generate daily snapshots.

File Contents

# Content
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.