# | Line 1 | Line 1 | |
---|---|---|
1 | < | i-scream Server Startup |
2 | < | ======================= |
1 | > | i-scream Server README |
2 | > | ====================== |
3 | ||
4 | < | Recommended startup sequence of components: |
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 | + | 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 |
45 | + | build directory. |
46 | + | The install line installs the server and libraries to a given location, |
47 | + | along with the configuration files. |
48 | + | Finally, the last line cleans up. |
49 | + | |
50 | + | Running |
51 | + | ------- |
52 | + | |
53 | + | It is recommended that the components are started up in the following order. |
54 | + | |
55 | + | (This can be on multiple hosts if required, as long as the order is correct). |
56 | + | |
57 | Core | |
58 | ClientInterfaceMain | |
59 | < | DBInterfaceMain |
59 | > | DBInterface |
60 | FilterManager | |
61 | < | RootFilterMain |
61 | > | RootFilter |
62 | FilterMain | |
63 | + | Client |
64 | ||
65 | < | It is not necessary to start both the ClientInterfaceMain and DBInterfaceMain, |
66 | < | the server will handle only one. Multiple Filter's can be started as required. |
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 |
67 | > | as required. |
68 | ||
69 | These are all loaded through the ComponentManager. More details on how to | |
70 | operate this will be provided later on. Typing "make run" will make an | |
71 | attempt to load it up. | |
72 | ||
73 | + | Check build/etc/default.properties to set the startup list and order. |
74 | + | |
75 | nb. You will need to ensure that the relevant libraries are in the | |
76 | build/lib directory. See the README in there for details. | |
77 | + | |
78 | + | Makefile |
79 | + | ======== |
80 | + | The following targets are available; |
81 | + | |
82 | + | build |
83 | + | |
84 | + | Compile the entire server package, include the IDL file. Generates the |
85 | + | JAR file for the final package. |
86 | + | |
87 | + | run |
88 | + | |
89 | + | Run's the server from the JAR file in /build. |
90 | + | |
91 | + | clean |
92 | + | |
93 | + | Cleans all compiled code, and javadoc pages. |
94 | + | |
95 | + | distclean |
96 | + | |
97 | + | Also cleans files left by configure, including the libraries. |
98 | + | |
99 | + | install |
100 | + | |
101 | + | Installs the server to a given directory. Also takes a prefix; |
102 | + | make install prefix = /usr/i-scream |
103 | + | |
104 | + | dist |
105 | + | |
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 | + | buildutil |
123 | + | |
124 | + | (it is recommended you run a "make clean" first) |
125 | + | Builds a seperate JAR file, in `build' called `iscream-util.jar'. |
126 | + | This file contains just the uk.org.iscream.cms.server.util package |
127 | + | for use in other parts of the system, such as the clients. |
128 | + | |
129 | + | createtable |
130 | + | |
131 | + | Creates the ipacket table in the mySQL database. This is required for |
132 | + | the database side of the server. |
133 | + | |
134 | + | droptable |
135 | + | |
136 | + | Drops an ipacket table from the mySQL database if one exists. |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |