<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<head>
  <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
  <TITLE>Build Guide</TITLE>
  <META NAME="GENERATOR" CONTENT="StarOffice 6.0  (Win32)">
  <META NAME="CREATED" CONTENT="20030117;11203562">
  <META NAME="CHANGED" CONTENT="20030117;16322448">
</head>
<body>
<H1>Using the build environment</H1>
<P>
Before you start builing the qadev tests, you need a working solar environment 
on your local machine, with a working Java version. See the OpenOffice.org
<a href="http://www.openoffice.org/documentation.html">documentation</a> for a 
detailed instruction.
The solar environment should be of the latest build.</P>
<P>
After checking out qa/qadevOOo you will find the following structure 
on your machine:</P>
<P><img src="qadev-tree.gif" alt="qadeOOo directory structure"></P>
The qadev tests consist of two parts.
<ol>
<li>a runner to execute tests</li>
<li>the tests themselves (Java and Basic)</li>
</ol>
<P>
All files that make up the runner are located in the runner directory and its
subdirectories. In objdsc there are the object descriptions, meaning the 
test assignment that has to be fulfilled. Several files (e.g documents, 
charts, graphics, jars, etc.) that are used by the tests can be found in the 
folder testdocs. Finally, prj contains the build list and the deliver list.
</P>
<P>
The build command will build the Runner and the Java tests, ultimately creating 
a package OOoRunner.jar out of this, containing additionally the content of 
the objdsc folder. (Note: the basic tests do not need compilation). </P>
<P>The compiled files and the jar can be found in the generated ouput path (e.g 
qadevOOo/unxsols4/class on Solaris).
</P>
<P>With the &quot;deliver&quot; command, the OOoRunner.jar is brought to your local 
environment.</P>
<P>You should make sure that the OOoRunner.jar is in your CLASSPATH, together with 
the needed Office jars. (See the <a href="user-guide.html">General User Guide</a> for
more details and how to execute the tests.)
</P>
<p><HR>Last Modified: $Date: 2004/03/10 15:58:37 $</p>
</body>
</HTML>
