# | Line 1 | Line 1 | |
---|---|---|
1 | < | i-scream Server Startup |
2 | < | ======================= |
1 | > | i-scream Server README |
2 | > | ====================== |
3 | ||
4 | < | Current startup sequence: |
4 | > | ANT build vs Make build |
5 | > | ----------------------- |
6 | ||
7 | < | uk.ac.ukc.iscream.core.Core |
8 | < | uk.ac.ukc.iscream.clientinterface.ClientInterfaceMain |
8 | < | uk.ac.ukc.iscream.dbinterface.DBInterfaceMain |
9 | < | uk.ac.ukc.iscream.filtermanager.FilterManager |
10 | < | uk.ac.ukc.iscream.rootfilter.RootFilterMain |
11 | < | uk.ac.ukc.iscream.filter.FilterMain |
7 | > | ** We have revamped the Makefile, but not the ANT build ** |
8 | > | ** So please use the Makefile for now ** |
9 | ||
10 | < | The following sequence of commands should suffice. They will probably need |
11 | < | to be run in seperate terminal windows. |
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 | < | make runcore |
18 | < | make runclientinterface |
19 | < | make rundbinterface |
20 | < | make runfiltermanager |
21 | < | make runrootfilter |
21 | < | make runfilter NAME=filter1 |
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 | < | If all is working this will ensure every component, including the IDL, is |
24 | < | compiled as required before execution. |
23 | > | ant help |
24 | ||
25 | < | nb. you will need to ensure your classpath is correctly set prior to |
26 | < | running, otherwise java will fail to find the jacorb classes and the |
27 | < | XML parsing packages. |
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 | > | DBInterface |
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 |
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 |