154 lines
6.5 KiB
HTML
154 lines
6.5 KiB
HTML
<HTML>
|
|
<BODY>
|
|
<h1> Overview </h1>
|
|
JACOB is built on windows machines using ANT, most commonly from inside of Eclipse.
|
|
The main steps for getting a working Jacob build are:
|
|
<ol>
|
|
<li>Check out the source code or unpack the source zip file from sourceforge</li>
|
|
<li>Install the Development Environment</li>
|
|
<li>Configure the build by creating a <i>compilation_tools.properties</i> file.</li>
|
|
<li>Run Eclipse and load the project into eclipse</li>
|
|
<li>Open the build.xml file in Eclipse and run the default ant target </li>
|
|
</ol>
|
|
<p>
|
|
<h1> Repository Organization </h1>
|
|
<p>
|
|
Unpack the source archive zip file or check the files out of CVS into d:\jacob
|
|
or some other familiar place. Source Java and JNI files are located in seperate
|
|
packages from the unit tests and the samples.
|
|
<p>
|
|
<ul>
|
|
<li>docs: documentation
|
|
<li>jni: c++ code
|
|
<li>lib: libraries needed to compile unit tests
|
|
<li>release: a directory built by the ant script where jacob is constructed
|
|
<li>samples: sample programs
|
|
<li>src: Jacob Java source files
|
|
<li>unittest: JUnit 3.8.1 unit test programs. Run from the test target in build.xml
|
|
<li>vstudio: some out of date VC++ project files
|
|
<li>bulid.xml: the ant build script. It can be run from inside Eclipse
|
|
</ul>
|
|
<p>
|
|
The Servlet examples that required j2ee libraries to compile have temporarily
|
|
been removed.
|
|
<p>
|
|
<H1>Development Environment</h1>
|
|
The simplest build environment includes MS Visual C++ 8.0 (Studio 2005),
|
|
Eclipse 3.3 with the C/C++ module and JDK 1.5.
|
|
In that situation, you would just create the <i>compilation_tools.properties</i>
|
|
using the example build.xml as a template.
|
|
<UL>
|
|
<li> Microsoft Visual C++ 8.0 and it's included library. (to C:\ProgramFiles in my case)
|
|
<li> Eclipse 3.4 or later from www.eclipse.org as the Java IDE.
|
|
<li> Eclipse 3.4 or later with the C/C++ plugin can be used for C coding in place of VC++ IDE.
|
|
<li> Java JDK 1.5 (1.17 was built using 1.5.0.22)
|
|
</ul>
|
|
<p>
|
|
<p>
|
|
<table>
|
|
<TR><TD>Release</TD><TD>C Version</TD><TD>Java Version</TD><TD>ANT Version</TD><TD>Eclipse Version Used</TD><TD>generated DLLs</TD></TR>
|
|
<TR><TD>up to 1.6</TD><TD>VC 98 (6.0)</TD><TD>?</TD><td>MAKE</td><TD>?</TD><TD>32 bit</TD></TR>
|
|
<TR><TD>1.7</TD><TD>VC 98 (6.0)</TD><TD>1.4</TD><td>1.?</td><TD>?</TD><TD>32 bit</TD></TR>
|
|
<TR><TD>1.8</TD><TD>VC 98 (6.0)</TD><TD>1.4</TD><td>1.?</td><TD>?</TD><TD>32 bit</TD></TR>
|
|
<TR><TD>1.9</TD><TD>VC 98 (6.0)</TD><TD>1.4</TD><td>1.?</td><TD>?</TD><TD>32 bit</TD></TR>
|
|
<TR><TD>1.10</TD><TD>VC 98 (6.0)</TD><TD>1.4</TD><td>1.?</td><TD>3.??</TD><TD>32 bit</TD></TR>
|
|
<TR><TD>1.11</TD><TD>VC 98 (6.0) & 2003 64bit libs</TD><TD>1.4.?</TD><td>1.6.?</td><TD>3.2.1</TD><TD>32 and 64 bit</TD></TR>
|
|
<TR><TD>1.12</TD><TD>VC 98 (6.0) & 2003 64bit libs</TD><TD>1.4.2</TD><td>1.6.5</td><TD>3.2.2</TD><TD>32 and 64 bit</TD></TR>
|
|
<TR><TD>1.13</TD><TD>VC 2005</TD><TD>1.4.2</TD><TD>1.7.0</TD><TD>3.3</TD><TD>32 and 64 bit</TD></TR>
|
|
<TR><TD>1.14</TD><TD>VC 2005</TD><TD>1.5.0</TD><TD>1.7.0</TD><TD>3.3</TD><TD>32 and 64 bit</TD></TR>
|
|
<TR><TD>1.15</TD><TD>VC 2005</TD><TD>1.5.0</TD><TD>1.7.0</TD><TD>3.4</TD><TD>32 and 64 bit</TD></TR>
|
|
<TR><TD>1.17</TD><TD>VC 2005</TD><TD>1.5.0</TD><TD>1.8.4 Eclipse Embedded</TD><TD>4.3</TD><TD>32 and 64 bit</TD></TR>
|
|
|
|
</table>
|
|
Microsoft Visual C++ 8.0 supports 64 bit builds. so no additional tools are required.
|
|
|
|
<p>
|
|
|
|
<H1>Build Process</H1>
|
|
The build process is based on ANT.
|
|
You can run ANT from inside of eclipse or from the command line.
|
|
The ant process is driven off of a configuration file named
|
|
<code>compilation_tools.properties</code> that describes the locations of the JDK and Microsoft
|
|
C++ tools. The <code>build.xml</code> file in the root directory contains examples of the contents
|
|
of this file.
|
|
|
|
<p>
|
|
There are two main ant targets.
|
|
<UL>
|
|
<li>"default" executes the following steps when using the default target.
|
|
<UL>
|
|
<li> Build the Java code
|
|
<li> Build the jni code
|
|
<li> create the dll
|
|
<li> create jar file
|
|
</UL>
|
|
<li>"package" runs the above listed steps and then
|
|
|
|
<UL>
|
|
<LI>builds the javadoc
|
|
<LI>builds a source zip
|
|
<li>builds a binary zip with the javadoc
|
|
</UL>
|
|
</UL>
|
|
<p>
|
|
<H1>Eclipse Java IDE</h1>
|
|
<p>
|
|
Eclipse users have to do some minor tweaks to their project if they
|
|
want to use the integrated build process. This is because the unit
|
|
tests are files located in the "unittest" directory while
|
|
the project source files themselves are in "src" the root directory.
|
|
By default, eclipse will add the entire project as source. This
|
|
messes up the package naming. In addition, the build directory should be
|
|
set to be the same place the ANT build puts the compiled java classes.
|
|
A couple small tweaks to the build path fix these problems:
|
|
<p>
|
|
Open up the project properties and go to the "Java Build Path" properties panel.
|
|
<ul>
|
|
<li> Remove the root of the project from the build path</li>
|
|
<li> Add folders <code>samples</code>, <code>src</code> and <code>unittest</code>
|
|
to the build path in the Source tab.</li>
|
|
<li> Exclude *.txt from each of the newly added folders. </li>
|
|
<li> Set the default build output directory to <code>jacob-project/release/java</code></li>
|
|
</ul>
|
|
|
|
<h2> Troubleshooting Build Problems </h2>
|
|
<ul>
|
|
<li>
|
|
Symptom: Build Failed can't find javac compiler. JAVA_HOME does not point to the JDK
|
|
Problem: The java library is pointed at a jre insted of the jdk. Update Project..Properties..Java Build Path to point at the JDK
|
|
</li>
|
|
<li>
|
|
Symptom: The jar is built but no dlls were compiled.<p>
|
|
Problem: compilation_tools.properties does not have the correct location for the Microsoft tools.<p>
|
|
</li>
|
|
<li>
|
|
Sympton: Can't find jni.h or can't find C++ compiler<p>
|
|
Problem: compilation_tools.properties configured incorrectly. Either
|
|
paths are wrong or the separator is wrong. It requires two backslashes for a separator.<p>
|
|
</li>
|
|
<li>
|
|
Symptom: Ant fails with the message <CODE> Could not create task or type of type: junit.</CODE>.<p>
|
|
Problem: junit.jar must be copied from this project to the $ANT_HOME/lib directory.<p>
|
|
</li>
|
|
</ul>
|
|
|
|
<h1> Running Samples and Tests </h1>
|
|
Samples and JUnit test programs can be found in the source jar or in CVS. The programs
|
|
can be run from a bat file or from inside the Eclipse IDE. The java library
|
|
path variable must be set to include the directory the jacob.dll is in. The
|
|
simplest way to do that is to add it as a command line option. The following
|
|
assume that your jacob development area is located in c:\dev\jacob:
|
|
<pre>
|
|
-Djava.library.path=c:/dev/jacob/release/x86
|
|
-Dcom.jacob.autogc=false
|
|
-Dcom.jacob.debug=false
|
|
-Xcheck:jni
|
|
</pre>
|
|
<p>
|
|
JUnit test programs can be individually run from inside eclipse or en-masse
|
|
via the <code>ant test</code> target.
|
|
|
|
Last Modified 10/2008 1.15
|
|
|
|
</BODY>
|
|
</HTML> |