1 |
4612
|
daigle
|
<!--
|
2 |
|
|
* sitemaps.html
|
3 |
|
|
*
|
4 |
|
|
* Authors: Michael Daigle
|
5 |
|
|
* Copyright: 2008 Regents of the University of California and the
|
6 |
|
|
* National Center for Ecological Analysis and Synthesis
|
7 |
|
|
* For Details: http://www.nceas.ucsb.edu/
|
8 |
|
|
* Created: 2008 November 4
|
9 |
|
|
* Version:
|
10 |
|
|
* File Info: '$ '
|
11 |
|
|
*
|
12 |
|
|
*
|
13 |
|
|
-->
|
14 |
|
|
<HTML>
|
15 |
|
|
<HEAD>
|
16 |
|
|
<TITLE>Building Metacat</TITLE>
|
17 |
|
|
<!-- unfortunately, we have to look for the common css file in the
|
18 |
|
|
user docs directory. This is because the user docs deploy to
|
19 |
|
|
the top level of the metacat docs on the knb web server -->
|
20 |
|
|
<link rel="stylesheet" type="text/css" href="../user/common.css">
|
21 |
|
|
<link rel="stylesheet" type="text/css" href="./default.css">
|
22 |
|
|
</HEAD>
|
23 |
|
|
<BODY>
|
24 |
|
|
<table width="100%">
|
25 |
|
|
<tr>
|
26 |
|
|
<td class="tablehead" colspan="2"><p class="label">Building Metacat</p></td>
|
27 |
|
|
<td class="tablehead" colspan="2" align="right">
|
28 |
|
|
<a href="./metacat-eclipse-project.html">Back</a> | <a href="./index.html">Home</a> |
|
29 |
|
|
<!--a href="add next file here when one exists" -->Next<!-- /a -->
|
30 |
|
|
</td>
|
31 |
|
|
</tr>
|
32 |
|
|
</table>
|
33 |
|
|
|
34 |
|
|
<div class="header1">Table of Contents</div>
|
35 |
|
|
<div class="toc">
|
36 |
|
|
<div class="toc1"><a href="#Intro">About Building Metacat</a></div>
|
37 |
|
|
<div class="toc1"><a href="#Prep">Prep the Build Configuration</a></div>
|
38 |
|
|
<div class="toc2"><a href="#BuildProperties">build.properties</a></div>
|
39 |
|
|
<div class="toc2"><a href="#BuildXml">build.xml</a></div>
|
40 |
|
|
<div class="toc1"><a href="#Cleaning">Cleaning the Codebase</a></div>
|
41 |
|
|
<div class="toc1"><a href="#AutomatedBuild">Automated Build</a></div>
|
42 |
|
|
<div class="toc1"><a href="#ManualBuild">Manual Build</a></div>
|
43 |
|
|
</div>
|
44 |
|
|
|
45 |
|
|
<a name="Intro"></a><div class="header1">About Building Metacat</div>
|
46 |
|
|
<p>This documentation covers building Metacat on a local development environment.
|
47 |
|
|
In essence, the local development build is no different than the production build,
|
48 |
|
|
but a few convenience options have been added to help the developer. </p>
|
49 |
|
|
|
50 |
|
|
<p>These instructions are meant to augment the Install Metacat War section of the
|
51 |
4667
|
daigle
|
following guides
|
52 |
|
|
<ul>
|
53 |
|
|
<li><a href="../user/metacat-linux-install.html">Metacat Linux Installation Guide</a>.</li>
|
54 |
|
|
<li><a href="../user/metacat-windows-install.html">Metacat Windows Installation Guide</a>.</li>
|
55 |
|
|
</ul>
|
56 |
4612
|
daigle
|
|
57 |
|
|
<p>Metacat is built using the Ant build utility. You will need to have Ant
|
58 |
|
|
installed on your development system to build Metacat</p>
|
59 |
|
|
|
60 |
|
|
<a name="Prep"></a><div class="header1">Prep the Build Configuration</div>
|
61 |
|
|
<a name="BuildProperties"></a><div class="header2">build.properties</div>
|
62 |
|
|
<p>You will need to edit <metacat_workspace>/build.properties and make sure
|
63 |
|
|
the following values are correct:
|
64 |
|
|
<ul>
|
65 |
|
|
<li>build.tomcat.dir - Metacat will look for some HttpServlet libraries in the local
|
66 |
|
|
Tomcat directories. Make sure this value is set to your local Tomcat installation
|
67 |
|
|
directory.</li>
|
68 |
4715
|
daigle
|
<li>app.deploy.dir - the automated installation build (install) will deploy your
|
69 |
4612
|
daigle
|
war file for you and clean up old application directories. Make sure this is set
|
70 |
|
|
to the directory where Tomcat looks for its applications.</li>
|
71 |
4687
|
daigle
|
<li>cvsroot - if your cvs user is different than the user you are using to build metacat,
|
72 |
|
|
you will need to change
|
73 |
|
|
<div class="code">:ext:${env.USER}@cvs.ecoinformatics.org:/cvs</div>
|
74 |
|
|
to
|
75 |
|
|
<div class="code">:ext:<your_cvs_user>@cvs.ecoinformatics.org:/cvs</div>
|
76 |
|
|
If you do not have a personal account with cvs, you can set the username to
|
77 |
|
|
"anonymous". The password will be "guestaccess".
|
78 |
|
|
</li>
|
79 |
4612
|
daigle
|
</ul>
|
80 |
|
|
|
81 |
|
|
<a name="BuildXml"></a><div class="header2">build.xml</div>
|
82 |
|
|
<p>There are several adjustments you can make to the build by editing
|
83 |
|
|
>metacat_workspace</build.xml. Some of the common ones are:
|
84 |
|
|
<ul>
|
85 |
|
|
<li>eml2_1_0-schema-tag - the tag in the eml repository that Metacat will use to
|
86 |
|
|
check out EML schema code. You would change this if you want to check out the latest code
|
87 |
|
|
on the head (leave as "") or if you want to run against an older version.</li>
|
88 |
|
|
<li>eml2_1_0-style-tag - the tag in the eml repository that Metacat will use to
|
89 |
|
|
check out EML style code. You would change this if you want to check out the latest code
|
90 |
|
|
on the head (leave as "") or if you want to run against an older version.</li>
|
91 |
|
|
<li>util-module - this tells metacat where to checkout to and/or look for
|
92 |
|
|
the common utilities code. Typically this is in a directory named utilities at the
|
93 |
|
|
same level as Metacat code. You could change this to point to an alternative directory
|
94 |
|
|
which may have different utilities code (from a different branch for instance).</li>
|
95 |
|
|
<li>utilities-tag - the tag in the utility repository that Metacat will use to
|
96 |
|
|
check out utility code. You would change this if you want to check out the latest code
|
97 |
|
|
on the head (leave as "") or if you want to run against an older version.</li>
|
98 |
|
|
</ul>
|
99 |
|
|
|
100 |
|
|
<a name="Cleaning"></a><div class="header1">Cleaning the Codebase</div>
|
101 |
|
|
<p>The metacat build.xml has several methods for cleaning the codebase. The format
|
102 |
|
|
for running these is:</p>
|
103 |
|
|
<div class="code">ant <clean-target></div>
|
104 |
|
|
The available clean-targets are:
|
105 |
|
|
<ul>
|
106 |
|
|
<li>clean - removes build and dist dirs. This will cause a rebuild of code in the
|
107 |
|
|
metacat project.</li>
|
108 |
|
|
<li>localclean - does a clean plus removes utilities and httpclient jars. This
|
109 |
|
|
causes a rebuild of utilities and the metacat project. This is provided so the
|
110 |
|
|
developer does not need to download all eml files every time utilities change.</li>
|
111 |
|
|
<li>ant fullclean - do a localclean plus remove eml files, so the system will
|
112 |
|
|
checkout eml files from the eml module in CVS.</li>
|
113 |
|
|
</ul>
|
114 |
|
|
|
115 |
|
|
<a name="AutomatedBuild"></a><div class="header1">Automated Build</div>
|
116 |
4715
|
daigle
|
<p>The ant "install" target controls deploying Metacat locally. This can be
|
117 |
|
|
used for source distributions or code that was checked out of the repository.
|
118 |
|
|
What is does is:</p>
|
119 |
4612
|
daigle
|
<ul>
|
120 |
|
|
<li>Builds the Metacat project, resulting in a war file.</li>
|
121 |
4715
|
daigle
|
<li>Moves the war file to the app.deploy.dir that you set in build.properties</li>
|
122 |
|
|
<li>Removes the existing application directory from the app.deploy.dir.</li>
|
123 |
4612
|
daigle
|
</ul>
|
124 |
|
|
Typical usage would be something like:</p>
|
125 |
4715
|
daigle
|
<div class="code">ant fullclean install</div>
|
126 |
4612
|
daigle
|
|
127 |
|
|
<a name="ManualBuild"></a><div class="header1">Manual Build</div>
|
128 |
|
|
<p>You can also build the Metacat war file and deploy manually. To build and create the
|
129 |
|
|
war, run:</p>
|
130 |
4637
|
daigle
|
<div class="code">ant build-metacat</div>
|
131 |
4612
|
daigle
|
<p>The war file will appear in your >metacat_workspace</dist directory. Copy the war
|
132 |
|
|
file into your tomcat webapps directory. Delete the existing code that was expanded
|
133 |
|
|
from the old jar.</p>
|
134 |
|
|
</BODY>
|
135 |
|
|
</HTML>
|