You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ap...@apache.org on 2006/11/15 11:40:04 UTC
svn commit: r475189 [2/3] - in /incubator/harmony/standard/site: docs/
docs/documentation/ docs/subcomponents/buildtest/
docs/subcomponents/classlibrary/ docs/subcomponents/drlvm/
docs/subcomponents/jchevm/ docs/subcomponents/stresstest/ xdocs/styleshe...
Modified: incubator/harmony/standard/site/docs/quickhelp_contributors.html
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/quickhelp_contributors.html?view=diff&rev=475189&r1=475188&r2=475189
==============================================================================
--- incubator/harmony/standard/site/docs/quickhelp_contributors.html (original)
+++ incubator/harmony/standard/site/docs/quickhelp_contributors.html Wed Nov 15 02:40:02 2006
@@ -204,29 +204,22 @@
</ul>
</td>
<td width="80%" valign="top"><a name="top"></a>
- <table cellspacing="0" cellpadding="2" width="100%">
- <tr><td>
- <h1>
- <a name="Getting Started For Contributors">Getting Started For Contributors</a>
- </h1>
- </td></tr>
- <tr><td>
- <p>
+ <h1>
+ <a name="Getting Started For Contributors">Getting Started For Contributors</a>
+ </h1>
+ <p>
This document explains how to get configured to build and
work with the Apache Harmony source code.
</p>
-
- <tr><td>
- <h2>
- <a name="Prerequisites">Prerequisites</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+ <h2>
+ <a name="Prerequisites">Prerequisites</a>
+ </h2>
+
+ <p>
<i>Basic</i> prerequisites for working with Apache Harmony are:
</p>
- <ul>
+ <ul>
<li>
<a href="http://ant.apache.org/">Apache Ant</a> version 1.6.5 or later
</li>
@@ -237,13 +230,13 @@
<a href="">Java SE 5 JDK</a>
</li>
</ul>
- <p>
+ <p>
The other prerequisites for building Harmony differ by platform:
</p>
- <strong>
+ <strong>
Windows
</strong>
- <ul>
+ <ul>
<li>Microsoft 32-bit C/C++ Compiler, version 7 or higher</li>
<li>Windows platform SDK</li>
@@ -257,19 +250,19 @@
2003</a> or higher
</li>
</ul>
- <strong>
+ <strong>
Linux
</strong>
- <ul>
+ <ul>
<li><a href="">GCC Compiler</a></li>
<li>libxml2 package</li>
</ul>
- <p>
+ <p>
<i>Additional</i> software and libraries that the building system
will download from the Internet are the following. There is no need for
you to do this - this list is here for your reference.
</p>
- <ul>
+ <ul>
<li>
<a href="http://xml.apache.org/xalan-j/">Xalan-Java</a>,
version 2.7.0
@@ -307,13 +300,13 @@
Log4cxx</a>, latest log4cxx, SVN revision 365029
</li>
</ul>
- <p class="note">Note</p>
- <p class="notetext">
+ <p class="note">Note</p>
+ <p class="notetext">
The PATH environment variable must include the location of SVN tool set.
Run SVN manually at least once prior to build, since it may ask to
accept the certificates from Apache site in an interactive manner.
</p>
- <p>
+ <p>
Alternatively, you can download these resources prior to building DRLVM,
unpack these, and specify the resulting location by using the
environment variables, as described in the
@@ -323,31 +316,26 @@
README file</a> you can find instructions on how to point to local
versions instead of making the build download new ones from the net.
</p>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Checking out the Federated Build Tree">Checking out the Federated Build Tree</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Checking out the Federated Build Tree">Checking out the Federated Build Tree</a>
+ </h2>
+
+ <p>
The Harmony codebase is divided into many separate parts. To create
a working JRE, you need a class library and a virtual machine. To
obtain these tools, use the <i>federated build</i> tree and then work
within the class library directory and the VM directory as you choose.
Currently, the federated build uses the DRLVM virtual machine.
</p>
- <p>
+ <p>
First, checkout the federated build:
</p>
- <pre>
+ <pre>
$ svn co https://svn.apache.org/repos/asf/incubator/harmony/enhanced/trunk
</pre>
- <p>
+ <p>
The given command will checkout a directory structure that
contains <code>working_classlib</code> and <code>working_vm</code>
directories. After the next step <code>working_classlib</code>
@@ -355,94 +343,84 @@
and <code>working_vm</code> will be the checkout
of the DRLVM SVN tree.
</p>
- <p class="note">Note</p>
- <p class="notetext">
+ <p class="note">Note</p>
+ <p class="notetext">
If you type <code>ant</code> in this directory, you will checkout,
build, and package snapshots of the JRE and HDK. However, this way
is inconvenient for a developer, so please continue with the next steps.
</p>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Populating the VM and ClassLibrary Source Trees">Populating the VM and ClassLibrary Source Trees</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Populating the VM and ClassLibrary Source Trees">Populating the VM and ClassLibrary Source Trees</a>
+ </h2>
+
+ <p>
To help populate the source trees, use the target located
in the federated build <code>build.xml</code> script.
Type the following command in the root directory of the
federated build:
</p>
- <pre>
+ <pre>
$ ant populate_source
</pre>
- <p>
+ <p>
The given command will checkout class library and DRLVM into the
<code>working_classlib</code> and <code>working_vm</code>
directories respectively, at the same SVN version of the
<code>build.xml</code> file. The source trees are large,
therefore a checkout can take a very long time.</p>
- <p class="note">Note</p>
- <p class="notetext">
+ <p class="note">Note</p>
+ <p class="notetext">
If the root of the federated build is multiple levels deep in
your filesystem, the very long paths within class library might
result in a SVN checkout failure on Windows. The solution is to
move the tree upwards in your filesystem, or switch operating systems.
</p>
- <p>
+ <p>
Any time going forward, you can bring any directory to current SVN
revision simply by doing <code>svn update</code> in any directory.
</p>
- <pre>
+ <pre>
$ cd working_classlib
$ svn update
</pre>
- <p>
+ <p>
The aforementioned commands are valid checkouts of the class library
and DRLVM. After executing <code>svn update</code>, your tree will
reflect any modifications made to the SVN repository. If you are a
project committer, you can make commits from within this tree, as it
is a normal SVN checkout.
</p>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Building the Code">Building the Code</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Building the Code">Building the Code</a>
+ </h2>
+
+ <p>
Now you should be ready to build the code. First of all, you should
build the class library, since the DRLVM has a dependency on the
class library and also assembles a working JRE as part of its build.
</p>
- <strong>Building the Class Library</strong>
- <p>
+ <strong>Building the Class Library</strong>
+ <p>
For the first time you build, you might want to fetch all the
class-library dependencies. If you do not, or if in the future a new
dependency is added, the build will tell you what to do, so that you
can do this step periodically.
</p>
- <pre>
+ <pre>
$ cd working_classlib
$ ant fetch-depends
$ ant
</pre>
- <p>
+ <p>
If you are working from behind a firewall, you may need to configure
<code>ant</code> to use a proxy via the <code>ANT_OPTS</code>
environment variable.</p>
- <p class="example">Example</p>
- <p class="notetext">
+ <p class="example">Example</p>
+ <p class="notetext">
<source>
<![CDATA[$ export ANT_OPTS='-Dhttp.proxyHost=<proxy.host> -Dhttp.proxyPort=<proxy port>']]>
@@ -458,32 +436,32 @@
To install the VM, follow the instructions that accompany that VM.
You can expand the class library code over the top of the Harmony directory (so that the 'jdk'
directories line-up)</p>
- <pre>
+ <pre>
unzip <path_to_vm_zip> -d ../.. (on Windows)
tar xzf <path_to_vm_tarball> --directory ../.. (on Linux)
</pre>
- <p>
+ <p>
Once you have a VM installed, you can run the tests:
</p>
- <pre>
+ <pre>
$ ant test
</pre>
- <p>
+ <p>
The given command will run the full testsuite for the class library.
</p>
- <strong>Building DRLVM</strong>
- <p>
+ <strong>Building DRLVM</strong>
+ <p>
When the class library is built, you should build the DRLVM
assembling a working JRE as well. To build the DRLVM, return
to the root of the federated build and switch into the
<code>working_vm</code> directory. Then switch into DRLVM build
directory.
</p>
- <pre>
+ <pre>
$ cd working_vm
$ cd build
</pre>
- <p>
+ <p>
First of all, tell the DRLVM build where to find the class library:
rename the file <code>drlvm.properties.example</code> in the DRLVM
<code>build</code> directory to <code>drlvm.properties</code>.
@@ -492,24 +470,24 @@
If you want to point to another build of the class library, override
the given file on the command line.
</p>
- <pre>
+ <pre>
$ cp drlvm.properties.example drlvm.properties
</pre>
- <p class="note">Note</p>
- <p class="notetext">
+ <p class="note">Note</p>
+ <p class="notetext">
If you are a Windows user, you <i>must</i> work from the Visual
Studio .NET Command Prompt installed with the Visual Studio.
As for now, you cannot build from a Cygwin or other alternative shell.
Set the <code>CXX</code> environment variable to <code>msvc</code>
to indicate to the build used by the compiler:
</p>
- <pre>
+ <pre>
C:...\trunk\working_vm\build> set CXX=msvc
</pre>
- <p> You can switch between the different compilers and modes by using
+ <p> You can switch between the different compilers and modes by using
the environment variables, as follows:
</p>
- <p> <table width="100%">
+ <p> <table width="100%">
<tr>
<th class="TableHeading">
Compiler
@@ -555,48 +533,48 @@
</td>
</tr>
</table></p>
- <p>
+ <p>
Now you are ready to build. To start the build, fetch the
dependencies. Note that this can take a long time.
</p>
- <pre>
+ <pre>
On Linux:
$ sh build.sh update
On Windows:
C:...\trunk\working_vm\build>build.bat update
</pre>
- <p>
+ <p>
When you have obtained the dependencies, you can proceed
with the build:</p>
- <pre>
+ <pre>
On Linux:
$ sh build.sh
On Windows:
C:...\trunk\working_vm\build>build.bat
</pre>
- <p>
+ <p>
To complete the operation, run the following tests:
</p>
- <pre>
+ <pre>
On Linux:
$ sh build.sh test
On Windows:
C:...\trunk\working_vm\build>build.bat test
</pre>
- <p class="note">Note</p>
- <p class="notetext">The <code>kernel</code> tests do not currently pass.
+ <p class="note">Note</p>
+ <p class="notetext">The <code>kernel</code> tests do not currently pass.
To succeed use <code>C Unit</code> and
<code>Smoke</code> tests.
</p>
- <p>
+ <p>
At this point, the DRLVM build is complete. A full JRE is in the
<code>deploy/jre</code> subdirectory of the <code>build</code>
directory.
</p>
- <pre>
+ <pre>
$ cd deploy/jre/bin
$ ./java -version
Apache Harmony Launcher : (c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
@@ -605,18 +583,13 @@
svn = r448280, (Sep 21 2006), Linux/ia32/gcc 3.4.6, debug build
http://incubator.apache.org/harmon
</pre>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Using the Built Code">Using the Built Code</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Using the Built Code">Using the Built Code</a>
+ </h2>
+
+ <p>
Developers refer to one of the two ways of using code. Class
library developers install the IBM VME for Harmony in the
<code>working_classlib/deploy/jdk/jre</code>, so they can use
@@ -628,36 +601,26 @@
class library. To work with the DRLVM, set
<code>JAVA_HOME</code> to the <code>deploy/jre</code>.
</p>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Running Java Applications">Running Java Applications</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Running Java Applications">Running Java Applications</a>
+ </h2>
+
+ <p>
Ensure that the <code>JAVA_HOME</code> environment variable is unset, or pointing
to the <code>Harmony/deploy/jdk/jre</code> directory.
</p>
- <p>
+ <p>
Run Java applications as usual, using the launcher in Harmony/deploy/jdk/jre/bin:</p>
- <pre>
+ <pre>
> jre\bin\java -showversion -jar helloworld.jar
java version 1.5 (subset)
(c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
Hello world!
</pre>
-
- </td></tr>
-
-
- </td></tr>
- </table>
- <p><a href="#top">Back to top</a></p>
+
+ <p><a href="#top">Back to top</a></p>
</td>
</tr>
Modified: incubator/harmony/standard/site/docs/quickhelp_users.html
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/quickhelp_users.html?view=diff&rev=475189&r1=475188&r2=475189
==============================================================================
--- incubator/harmony/standard/site/docs/quickhelp_users.html (original)
+++ incubator/harmony/standard/site/docs/quickhelp_users.html Wed Nov 15 02:40:02 2006
@@ -204,174 +204,147 @@
</ul>
</td>
<td width="80%" valign="top"><a name="top"></a>
- <table cellspacing="0" cellpadding="2" width="100%">
- <tr><td>
- <h1>
- <a name="Getting Started For Users">Getting Started For Users</a>
- </h1>
- </td></tr>
- <tr><td>
- <p>
+ <h1>
+ <a name="Getting Started For Users">Getting Started For Users</a>
+ </h1>
+ <p>
The current document provides basic instructions for people that
wish to use Apache Harmony for running their Java programs. The
steps described below neither require development tools nor
necessitate compiling source code.
</p>
- <p>
+ <p>
For more information on how to get you machine configured to build and
work with the Apache Harmony source code, refer to
<a href="http://incubator.apache.org/harmony/quickhelp_contributors.html">
Getting Started For Contributors
</a>.
</p>
- <p>
+ <p>
The required dependencies are listed below per platform.
</p>
-
- <tr><td>
- <h2>
- <a name="Download the Apache Harmony Snapshot">Download the Apache Harmony Snapshot</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+ <h2>
+ <a name="Download the Apache Harmony Snapshot">Download the Apache Harmony Snapshot</a>
+ </h2>
+
+ <p>
First of all, download the binary distribution appropriate to
your platform. We currently distribute binaries for Linux and
Microsoft Windows. Please follow the instructions on the
<a href="downloads.html">download page</a>
to choose and download the software.
</p>
- <p>
+ <p>
Currently, the Apache Harmony project has no formal releases of
its software.
Instead, the project offers pre-built snapshots that
are expected to run well on the platforms offered.
</p>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Unpack the Binary Distribution">Unpack the Binary Distribution</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Unpack the Binary Distribution">Unpack the Binary Distribution</a>
+ </h2>
+
+ <p>
Once you have obtained the appropriate binary distribution,
you need to unpack it on your machine. In all cases, the
distribution will unpack into a <code>jre</code>
directory. Further in the document we refer to this directory
as the <i>root directory</i> of the distribution.
</p>
- <strong>Linux Users</strong>
- <p>
+ <strong>Linux Users</strong>
+ <p>
Use the <code>tar</code> program as follows:
</p>
- <pre>
+ <pre>
$ tar -tzf latest-harmony-jre-linux.tar.gz
</pre>
- <p>
+ <p>
This will unpack the JRE directory tree into the current directory.
</p>
- <strong>Windows Users</strong>
- <p>
+ <strong>Windows Users</strong>
+ <p>
Use one of <code>zip</code> utilities available for Windows to
unpack the distribution. The three popular ones are listed
below, but anything that can handle a <code>zip</code> file
will work:
</p>
- <ul>
+ <ul>
<li><a href="http://www.info-zip.org/">Info-ZIP</a>
(open source software)</li>
<li><a href="http://www.7-zip.org/">7-Zip</a> (free software)</li>
<li><a href="http://www.winzip.com/">Winzip</a> (commercial)</li>
</ul>
- <p>
+ <p>
To create the JRE directory tree, extract the
distribution <code>zip</code> file using the utility.
</p>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Configuring Your Environment">Configuring Your Environment</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Configuring Your Environment">Configuring Your Environment</a>
+ </h2>
+
+ <p>
Apache Harmony requires no further environmental setup, but
sometimes other programs do. Also, it is convenient to have
the Apache Harmony executables on your path.
</p>
- <p>
+ <p>
To set your <code>JAVA_HOME</code> and <code>PATH</code>
environment variables, use the commands appropriate to your
operating system and/or shell you are using.
</p>
- <strong>
+ <strong>
Linux Users</strong>
- <p>
+ <p>
The following command works for the Bash shell:
</p>
- <pre>
+ <pre>
$ cd jre
$ export JAVA_HOME=`pwd`
$ cd bin
$ export PATH=`pwd`:$PATH
</pre>
- <p>
+ <p>
The given command assumes your current directory is the parent
directory of the Harmony JRE.
</p>
- <p class="note">Note</p>
- <p class="notetext">The <code>`</code> character is a backtick character,
+ <p class="note">Note</p>
+ <p class="notetext">The <code>`</code> character is a backtick character,
not an apostrophe.</p>
- <strong>Windows Users</strong>
- <p>
+ <strong>Windows Users</strong>
+ <p>
The following example assumes you unpacked the <code>zip</code>
file into the root directory <code>C:\</code>.
Please adjust as necessary.
</p>
- <pre>
+ <pre>
C:> cd jre
C:\jre>set JAVA_HOME=C:\jre
C:\jre> cd bin
C:\jre\bin> set PATH=C:\jre\bin;%PATH%
</pre>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Using Apache Harmony">Using Apache Harmony</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Using Apache Harmony">Using Apache Harmony</a>
+ </h2>
+
+ <p>
After performing aforementioned steps, you should be ready to use
Apache Harmony. Note that we have not yet included
<code>javac</code>, so continue to use the compiler from some
other JRE. You should have no problems running programs.
</p>
- <pre>
+ <pre>
$ java Foo
$ java -jar myjar.jar
</pre>
-
- </td></tr>
-
-
- </td></tr>
- </table>
- <p><a href="#top">Back to top</a></p>
+
+ <p><a href="#top">Back to top</a></p>
</td>
</tr>
Modified: incubator/harmony/standard/site/docs/related.html
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/related.html?view=diff&rev=475189&r1=475188&r2=475189
==============================================================================
--- incubator/harmony/standard/site/docs/related.html (original)
+++ incubator/harmony/standard/site/docs/related.html Wed Nov 15 02:40:02 2006
@@ -204,31 +204,24 @@
</ul>
</td>
<td width="80%" valign="top"><a name="top"></a>
- <table cellspacing="0" cellpadding="2" width="100%">
- <tr><td>
- <h1>
- <a name="Other Projects">Other Projects</a>
- </h1>
- </td></tr>
- <tr><td>
- <p>
+ <h1>
+ <a name="Other Projects">Other Projects</a>
+ </h1>
+ <p>
The following list is of other projects related to open source Java that you
may find interesting.
</p>
- <p>
+ <p>
We believe that open source is valuable because of the communities behind the code -
and in the case of Apache Harmony, the the collaboration and interaction with
these other projects brings additional
health and diversity that go beyond a single project.
</p>
- <ul>
+ <ul>
<li><a href="http://www.kaffe.org/">Kaffe JVM</a></li>
<li><a href="http://www.gnu.org/software/classpath/classpath.html">GNU Classpath</a></li>
</ul>
-
- </td></tr>
- </table>
- <p><a href="#top">Back to top</a></p>
+ <p><a href="#top">Back to top</a></p>
</td>
</tr>
Modified: incubator/harmony/standard/site/docs/roadmap.html
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/roadmap.html?view=diff&rev=475189&r1=475188&r2=475189
==============================================================================
--- incubator/harmony/standard/site/docs/roadmap.html (original)
+++ incubator/harmony/standard/site/docs/roadmap.html Wed Nov 15 02:40:02 2006
@@ -204,39 +204,28 @@
</ul>
</td>
<td width="80%" valign="top"><a name="top"></a>
- <table cellspacing="0" cellpadding="2" width="100%">
- <tr><td>
- <h1>
- <a name="Roadmap and TODO">Roadmap and TODO</a>
- </h1>
- </td></tr>
- <tr><td>
- <p>
+ <h1>
+ <a name="Roadmap and TODO">Roadmap and TODO</a>
+ </h1>
+ <p>
Are roadmap and goals are always subject to discussion on the
<a href="mailing.html">developer's list.</a> As new people join with new focus and
interests, the things we do as a project adapt.
</p>
- <p>
+ <p>
If you have an idea, come join the community and talk about it. Note that you will
need to subscribe to the <a href="mailing.html">mail list</a>
</p>
-
- </td></tr>
- </table>
- <p><a href="#top">Back to top</a></p>
- <table cellspacing="0" cellpadding="2" width="100%">
- <tr><td>
- <h1>
- <a name="High-Level Roadmap">High-Level Roadmap</a>
- </h1>
- </td></tr>
- <tr><td>
- <p>
+ <p><a href="#top">Back to top</a></p>
+ <h1>
+ <a name="High-Level Roadmap">High-Level Roadmap</a>
+ </h1>
+ <p>
Our project goal is an open source, compatible implementation of Java SE 5.
It's a major task being done by a community of volunteers. Thus, the following
is an approximate roadmap for what the project hopes to achieve in the next year.
</p>
- <ul>
+ <ul>
<li>
<font color="green"><b>DONE</b></font> <strike>Aug 2006 : 85% of Java SE 5 class library coverage </strike>
</li>
@@ -282,29 +271,22 @@
Q2 2007 : Apache Harmony SE 5 JDK and JRE released
</li>
</ul>
-
- </td></tr>
- </table>
- <p><a href="#top">Back to top</a></p>
- <table cellspacing="0" cellpadding="2" width="100%">
- <tr><td>
- <h1>
- <a name="TODO List">TODO List</a>
- </h1>
- </td></tr>
- <tr><td>
- <p>
+ <p><a href="#top">Back to top</a></p>
+ <h1>
+ <a name="TODO List">TODO List</a>
+ </h1>
+ <p>
The following is a collection of things that the project community
has listed as needing to be done. This list is not exhaustive. If
you wish to add an item to this list, or discuss or even volunteer
to work on an item, please join us on the <a href="mailing.html">Harmony
mail list.</a>
</p>
- <p>
+ <p>
The following sections describe the high-level areas of effort, and
tasks that have been identified for those areas.
</p>
- <ol>
+ <ol>
<li><a href="#General">General</a></li>
<li><a href="#Build Engineering">Build Engineering</a></li>
<li><a href="#Build-Test Framework">Build-Test Framework</a></li>
@@ -315,22 +297,19 @@
<li><a href="#Application-Driven Project Advancement">Application-Driven Project Advancement</a></li>
</ol>
-
- <tr><td>
- <h2>
- <a name="General">General</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <strong>1. Switch To Java 5</strong>
- <p>
+
+ <h2>
+ <a name="General">General</a>
+ </h2>
+
+ <strong>1. Switch To Java 5</strong>
+ <p>
We neeed to complete our transition to Java 5, in both the class library
as well as the projects virtual machines. Currently, the DRLVM virtual
machine can accept Java 5 class file format, although it doesn't yet
have full support of Java 5. So to finish, we need :
</p>
- <ul>
+ <ul>
<li>
Full support for Java 5 in DRLVM
</li>
@@ -341,8 +320,8 @@
Continue to complete the new Java 5 additions to the classlibrary.
</li>
</ul>
- <strong>2. JDK tools</strong>
- <p>
+ <strong>2. JDK tools</strong>
+ <p>
As part of the JDK that Harmony will distribute, we'll include
the full set of tools that Java programmers expect to find in
any JDK. For maximum portablility, we plan to write all of the
@@ -350,7 +329,7 @@
code that starts the VM and invokes the tool. Currently, we have
javac completed via the Eclipse compiler, but we need the following :
</p>
- <ul>
+ <ul>
<li>
javac (Done), javadoc, apt, appletviewer, jar, jdb, javah, javap, extcheck
</li>
@@ -370,47 +349,42 @@
htmlconverter, javaws
</li>
</ul>
- <p>
+ <p>
Again, we have the portable launcher framework - we just need volunteers.
</p>
- <strong>3. Modularity</strong>
- <p>
+ <strong>3. Modularity</strong>
+ <p>
From the beginning of our project, we've had a strong interest and focus
on modularity This dedication has paid off in our class library development,
as we've been able to evaluate competing implementations of RMI and math, as
well as allow developers to isolate development on one module.
</p>
- <p>
+ <p>
The modularity story for the class library is reasonable complete at this
point, as we have completed the modularization of the native code as well.
However, there is plenty of work to be done with our virtual machines - the
goal being able to define a set of standard interfaces to which modular
VM components can be written.
</p>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Build Engineering">Build Engineering</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Build Engineering">Build Engineering</a>
+ </h2>
+
+ <p>
Build engineering in Harmony is a complicated subject, as we are building
on multiple platforms in multiple languages. So far, we have support for
our Windows and Linux ports, but our porting plans indiciate that we'll need
to revisit given the differnet toolchains. There are many things to do
in this area, many not listed.
</p>
- <p>
+ <p>
Currently, the project has been releasing snapshots of our class library,
but now that we have the DRLVM virtual machine, we can start doing complete
snapshot builds of a JRE, as well as the HDK
</p>
- <ul>
+ <ul>
<li>
Switch to use system libraries, dynamically where appropriate
- libz, libpng, libjpeg, liblcms, libicu*, etc.
@@ -443,30 +417,25 @@
linux.
</li>
</ul>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Build-Test Framework">Build-Test Framework</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Build-Test Framework">Build-Test Framework</a>
+ </h2>
+
+ <p>
The goal of this part of the Harmony project, the build-test framework,
is make it easy for anyone to setup the CI infrastructure for the
project and submit automated reports on building and testing of the
project codebase on that platform.
</p>
- <p>
+ <p>
There is an
<a href="http://svn.apache.org/viewvc/incubator/harmony/enhanced/buildtest/">
initial implementation</a> in place in SVN, but much more work is needed.
Ideas include :
</p>
- <ul>
+ <ul>
<li>
Send mail to project on success/fail transition
</li>
@@ -489,24 +458,19 @@
Externalize local properties into a 'test.properties' file for easy of localization.
</li>
</ul>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Performance, Stability and Reliability">Performance, Stability and Reliability</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Performance, Stability and Reliability">Performance, Stability and Reliability</a>
+ </h2>
+
+ <p>
Our goal is a high-performance, stable and compatible implementation of Java SE 5.
While passing the TCK is a measure of compatibility with the standard,
performance and stability is something that must be achieved independently.
Currently, we have no performance activity in the project. We are looking to :
</p>
- <ol>
+ <ol>
<li>
Define a set of stress, stability and performance tests that are
freely available and easy to automate in our
@@ -520,23 +484,18 @@
Identify and fix stability and performance problems.
</li>
</ol>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Class Library">Class Library</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Class Library">Class Library</a>
+ </h2>
+
+ <p>
The class library is an important (and large!) part of the Java SE
platform. While we have made significant progress so far (~80% at last
check), there are many, many interesting things remaining to be done
</p>
- <ul>
+ <ul>
<li>
<a href="subcomponents/classlibrary/status.html">General package completion</a>
</li>
@@ -563,35 +522,25 @@
Make final decision on RMI, Math, and crypto implementations.
</li>
</ul>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="DRLVM">DRLVM</a>
- </h2>
- </td></tr>
- <tr><td>
-
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Porting Matrix">Porting Matrix</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="DRLVM">DRLVM</a>
+ </h2>
+
+
+
+ <h2>
+ <a name="Porting Matrix">Porting Matrix</a>
+ </h2>
+
+ <p>
Another motivation of the Harmony project is to provide a
portable implementation that is available on many
platforms and operating systems. Currently, our interests
are :
</p>
- <table>
+ <table>
<tr>
<th class="TableHeading" colspan="" rowspan="">
Chipset
@@ -766,18 +715,13 @@
</td>
</tr>
</table>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Application-Driven Project Advancement">Application-Driven Project Advancement</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Application-Driven Project Advancement">Application-Driven Project Advancement</a>
+ </h2>
+
+ <p>
As we now have a fairly usable class library and virtual machine, we wish to
make it easy for the broad Java user community to help us ensure that
the Harmony class library supports the classes necessary for the most popular
@@ -787,7 +731,7 @@
the project. So far, there have been a few tools donated, but no concerted
effort to package for ease of use.
</p>
- <ul>
+ <ul>
<li>
Harmony-165 - tool to compare an applications required classes
with what is available in Harmony
@@ -796,13 +740,8 @@
Harmony-565 - another tool for reporting class coverage for apps
</li>
</ul>
-
- </td></tr>
-
-
- </td></tr>
- </table>
- <p><a href="#top">Back to top</a></p>
+
+ <p><a href="#top">Back to top</a></p>
</td>
</tr>
Modified: incubator/harmony/standard/site/docs/status.html
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/status.html?view=diff&rev=475189&r1=475188&r2=475189
==============================================================================
--- incubator/harmony/standard/site/docs/status.html (original)
+++ incubator/harmony/standard/site/docs/status.html Wed Nov 15 02:40:02 2006
@@ -204,14 +204,10 @@
</ul>
</td>
<td width="80%" valign="top"><a name="top"></a>
- <table cellspacing="0" cellpadding="2" width="100%">
- <tr><td>
- <h1>
- <a name="So, What Can We Do Now?">So, What Can We Do Now?</a>
- </h1>
- </td></tr>
- <tr><td>
- <p>
+ <h1>
+ <a name="So, What Can We Do Now?">So, What Can We Do Now?</a>
+ </h1>
+ <p>
The problem with building something as fundamental as a JRE is how to show
progress to the community, so that people will begin to use it, give feedback
and most importantly contribute bugfixes and additions. Although we have
@@ -219,15 +215,12 @@
list of the packages</a> we believe are complete, are in progress, and
are not started, it's more useful to answer the question <i>So what can it do?</i>
</p>
- <p>
+ <p>
We maintain a list on the project Wiki of
<a href="http://wiki.apache.org/harmony/Application_Status">applications that have
been tried</a> on Harmony code.
</p>
-
- </td></tr>
- </table>
- <p><a href="#top">Back to top</a></p>
+ <p><a href="#top">Back to top</a></p>
</td>
</tr>
Modified: incubator/harmony/standard/site/docs/subcomponents/buildtest/index.html
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/buildtest/index.html?view=diff&rev=475189&r1=475188&r2=475189
==============================================================================
--- incubator/harmony/standard/site/docs/subcomponents/buildtest/index.html (original)
+++ incubator/harmony/standard/site/docs/subcomponents/buildtest/index.html Wed Nov 15 02:40:02 2006
@@ -204,14 +204,10 @@
</ul>
</td>
<td width="80%" valign="top"><a name="top"></a>
- <table cellspacing="0" cellpadding="2" width="100%">
- <tr><td>
- <h1>
- <a name="Build-Test Framework">Build-Test Framework</a>
- </h1>
- </td></tr>
- <tr><td>
- <p>
+ <h1>
+ <a name="Build-Test Framework">Build-Test Framework</a>
+ </h1>
+ <p>
The
<a href="http://svn.apache.org/viewvc/incubator/harmony/enhanced/buildtest/">
<i>build-test framework</i></a> is a simple configuration of
@@ -219,10 +215,10 @@
a framework for continuous build process. It also includes all the
necessary support to simplify installation.
</p>
- <p>
+ <p>
Currently, the framework does the following distinct tasks, in order,
and only when code changes in the repository:</p>
- <ol>
+ <ol>
<li>Update the source for the class library from SVN</li>
<li>Get any new dependencies needed for building the class library</li>
<li>Build and test the class library</li>
@@ -230,59 +226,44 @@
<li>Get and build any new dependencies needed for DRLVM</li>
<li>Build and test the DRLVM</li>
</ol>
-
- </td></tr>
- </table>
- <p><a href="#top">Back to top</a></p>
- <table cellspacing="0" cellpadding="2" width="100%">
- <tr><td>
- <h1>
- <a name="Setup and Configuration">Setup and Configuration</a>
- </h1>
- </td></tr>
- <tr><td>
-
- <tr><td>
- <h2>
- <a name="Prerequisites">Prerequisites</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>You need to obtain and install the same <a href="../../../docs/quickhelp_contributors.html">tools</a>,
+ <p><a href="#top">Back to top</a></p>
+ <h1>
+ <a name="Setup and Configuration">Setup and Configuration</a>
+ </h1>
+
+ <h2>
+ <a name="Prerequisites">Prerequisites</a>
+ </h2>
+
+ <p>You need to obtain and install the same <a href="../../../docs/quickhelp_contributors.html">tools</a>,
as for building the Apache Harmony
components.</p>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Setup">Setup</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Setup">Setup</a>
+ </h2>
+
+ <p>
Get the <code>/harmony/enhanced/buildtest/</code> part of the Apache
Harmony project via <code>zip</code> or <code>tgz</code> files. You also can
check it out from the project Subversion repository:</p>
- <pre>svn co https://svn.apache.org/repos/asf/incubator/harmony/enhanced/buildtest/trunk</pre>
- <p>
+ <pre>svn co https://svn.apache.org/repos/asf/incubator/harmony/enhanced/buildtest/trunk</pre>
+ <p>
With Java, Ant and SVN installed, change into the <code>buildtest/trunk</code>
directory and type:
</p>
- <pre>ant setup</pre>
- <p>
+ <pre>ant setup</pre>
+ <p>
This command fetches <code>CruiseControl</code>, sets it up with the Apache Harmony
configuration, and checks out the software for building and testing
from Apache Harmony.
</p>
- <p>
+ <p>
To run the tests successfully, you need to do the
following manual steps for now:
</p>
- <ol>
+ <ol>
<li>
Build the classlib to create the <code>deploy/jdk</code> tree in classlib,
first fetching the dependencies:
@@ -306,32 +287,22 @@
</li>
</ol>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Starting CruiseControl">Starting CruiseControl</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Starting CruiseControl">Starting CruiseControl</a>
+ </h2>
+
+ <p>
To start the system, type the following command in
<code>buildtest/trunk</code>:
</p>
- <pre>ant</pre>
- <p>The given command launches <code>CruiseControl</code> with the full test set.
+ <pre>ant</pre>
+ <p>The given command launches <code>CruiseControl</code> with the full test set.
To check status, point your browser to:</p>
- <pre>http://localhost:8080/</pre>
-
- </td></tr>
-
-
- </td></tr>
- </table>
- <p><a href="#top">Back to top</a></p>
+ <pre>http://localhost:8080/</pre>
+
+ <p><a href="#top">Back to top</a></p>
</td>
</tr>
Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/agreements.html
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/agreements.html?view=diff&rev=475189&r1=475188&r2=475189
==============================================================================
--- incubator/harmony/standard/site/docs/subcomponents/classlibrary/agreements.html (original)
+++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/agreements.html Wed Nov 15 02:40:02 2006
@@ -204,27 +204,20 @@
</ul>
</td>
<td width="80%" valign="top"><a name="top"></a>
- <table cellspacing="0" cellpadding="2" width="100%">
- <tr><td>
- <h1>
- <a name="Harmony-dev agreements and recommendations">Harmony-dev agreements and recommendations</a>
- </h1>
- </td></tr>
- <tr><td>
- <p>
+ <h1>
+ <a name="Harmony-dev agreements and recommendations">Harmony-dev agreements and recommendations</a>
+ </h1>
+ <p>
<big><em>The summary of agreements and recommendations that were
discussed on the development mailing list <code>harmony-dev@incubator.apache.org</code>.
Please feel free to send your comments and questions there.</em></big>
</p>
-
- <tr><td>
- <h2>
- <a name="Development">Development</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <ul>
+
+ <h2>
+ <a name="Development">Development</a>
+ </h2>
+
+ <ul>
<li>serialVersionUID MUST be explicitly specified for each Serializable class to provide compatibility
(<a href="http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200601.mbox/%3c906dd82e0601190059x3162c6c6u533928579c226572@mail.gmail.com%3e">
[classlib] serialVersionUIDs for Serializable classes</a>)
@@ -311,18 +304,13 @@
</li>
</ul>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Testing">Testing</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <ul>
+
+
+ <h2>
+ <a name="Testing">Testing</a>
+ </h2>
+
+ <ul>
<li>Follow <a href="http://www.javaworld.com/javaworld/jw-12-2000/jw-1221-junit_p.html">guidelines</a> for unit tests
(<a href="http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200603.mbox/%3c442B7857.7040002@gmail.com%3e">
[Testing Convention] Keep tests small and fast</a>)
@@ -357,18 +345,13 @@
</li>
</ul>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Others">Others</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <ul>
+
+
+ <h2>
+ <a name="Others">Others</a>
+ </h2>
+
+ <ul>
<li>Separate module for providers should be created
(<a href="http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200601.mbox/%3c6e47b64f0601170332k3d418fabwd25a264c5e0f1532@mail.gmail.com%3e">
componentization: more modules might be necessary</a>)
@@ -394,13 +377,8 @@
Component status pages</a>)
</li>
</ul>
-
- </td></tr>
-
-
- </td></tr>
- </table>
- <p><a href="#top">Back to top</a></p>
+
+ <p><a href="#top">Back to top</a></p>
</td>
</tr>
Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/build_classlib.html
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/build_classlib.html?view=diff&rev=475189&r1=475188&r2=475189
==============================================================================
--- incubator/harmony/standard/site/docs/subcomponents/classlibrary/build_classlib.html (original)
+++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/build_classlib.html Wed Nov 15 02:40:02 2006
@@ -204,20 +204,16 @@
</ul>
</td>
<td width="80%" valign="top"><a name="top"></a>
- <table cellspacing="0" cellpadding="2" width="100%">
- <tr><td>
- <h1>
- <a name="Building the Apache Harmony Class Library">Building the Apache Harmony Class Library</a>
- </h1>
- </td></tr>
- <tr><td>
- <p>
+ <h1>
+ <a name="Building the Apache Harmony Class Library">Building the Apache Harmony Class Library</a>
+ </h1>
+ <p>
The Harmony class library code is a subset of the Java(tm) SE 1.5 APIs currently
being developed in the <a href="http://incubator.apache.org/harmony/">
Apache Harmony project</a>. This page describes how to build the class library code,
and includes links to pre-built versions of the code.
</p>
- <p>
+ <p>
<i>Standard Disclaimer:</i>
Apache Harmony is an effort undergoing incubation at the Apache Software
Foundation (ASF). Incubation is required of all newly accepted projects until
@@ -227,19 +223,16 @@
reflection of the completeness or stability of the code, it does indicate
that the project has yet to be fully endorsed by the ASF.
</p>
-
- <tr><td>
- <h2>
- <a name="Building from source">Building from source</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+ <h2>
+ <a name="Building from source">Building from source</a>
+ </h2>
+
+ <p>
The Harmony class library code is available for Microsoft(tm) Windows(tm) and
Linux(tm) operating systems, on x86 processors only.
</p>
- <p>
+ <p>
The following prerequisite tools must be available on the path in order to build
the Harmony classlib code from source.
<ul>
@@ -258,7 +251,7 @@
in double-scanning file systems during build.
</p>
- <p>
+ <p>
You can build the latest version of the class library code in three simple steps:
<ol>
<li>Download classlib source from Harmony subversion repository
@@ -277,31 +270,26 @@
</li>
</ol>
</p>
- <p>
+ <p>
Now you are ready to <a href="#Running_Java">run some Java applications</a>!
</p>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Using pre-built binaries">Using pre-built binaries</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Using pre-built binaries">Using pre-built binaries</a>
+ </h2>
+
+ <p>
Pre-built binaries are available as a convenience for people who don't
have ready access to the prerequisite tools.
</p>
- <p>
+ <p>
These are <i>snapshot</i> builds, not official releases of the project.
Snapshots are builds of the repository at a given revision. The file
name of each snapshot build indicates the revision of the code repository,
and the platform on which it was built.
</p>
- <p>
+ <p>
You can use a pre-built binaries in three easy steps:
<ol>
<li>Obtain a pre-built class library snapshot for your platform from the
@@ -321,55 +309,45 @@
tar xzf <path_to_vm_tarball></pre>
</ol>
</p>
- <p>
+ <p>
Now you are ready to <a href="#Running_Java">run some Java applications</a>!
</p>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Obtaining a compatible VM">Obtaining a compatible VM</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <a name="Obtaining_a_VM" />
- <p>
+
+
+ <h2>
+ <a name="Obtaining a compatible VM">Obtaining a compatible VM</a>
+ </h2>
+
+ <a name="Obtaining_a_VM" />
+ <p>
The Harmony class library code interfaces to a VM through a virtual machine interface
defined in the Harmony project.
</p>
- <p>
+ <p>
There is a VM that implements this interface available from the
<a href="http://www-128.ibm.com/developerworks/java/jdk/harmony/index.html">
IBM DeveloperWorks site</a>.
<em>The IBM VM is not open source</em> (although the VM interface itself is).
</p>
- <p>
+ <p>
Once you have obtained the IBM VM you should have one of the following files:
<ul>
<li>on Windows "Harmony-vme-win.IA32-v4.zip"</li>
<li>on Linux "Harmony-vme-linux.IA32-v4.tar.gz"</li>
</ul>
</p>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Running Java applications">Running Java applications</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <a name="Running_Java" />
- <p>
+
+
+ <h2>
+ <a name="Running Java applications">Running Java applications</a>
+ </h2>
+
+ <a name="Running_Java" />
+ <p>
Ensure that the <code>JAVA_HOME</code> environment variable is unset, or pointing
to the <code>Harmony/deploy/jdk/jre</code> directory.
</p>
- <p>
+ <p>
Run Java applications as usual, using the launcher in Harmony/deploy/jdk/jre/bin:
<pre>> jre\bin\java -showversion -jar helloworld.jar
java version 1.5 (subset)
@@ -377,13 +355,8 @@
Hello world!
</pre>
</p>
-
- </td></tr>
-
-
- </td></tr>
- </table>
- <p><a href="#top">Back to top</a></p>
+
+ <p><a href="#top">Back to top</a></p>
</td>
</tr>
Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/compat.html
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/compat.html?view=diff&rev=475189&r1=475188&r2=475189
==============================================================================
--- incubator/harmony/standard/site/docs/subcomponents/classlibrary/compat.html (original)
+++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/compat.html Wed Nov 15 02:40:02 2006
@@ -204,62 +204,50 @@
</ul>
</td>
<td width="80%" valign="top"><a name="top"></a>
- <table cellspacing="0" cellpadding="2" width="100%">
- <tr><td>
- <h1>
- <a name="Compatibility goals in the Apache Harmony Class Library">Compatibility goals in the Apache Harmony Class Library</a>
- </h1>
- </td></tr>
- <tr><td>
- <p>
+ <h1>
+ <a name="Compatibility goals in the Apache Harmony Class Library">Compatibility goals in the Apache Harmony Class Library</a>
+ </h1>
+ <p>
<big><em>The following guidelines are currently PROPOSED and being discussed on the
development mailing list <code>harmony-dev@incubator.apache.org</code>. Please
direct comments and questions there.</em></big>
</p>
- <p>
+ <p>
The Harmony project class library ("<b>classlib</b>") effort is committed
to producing a set of class library code that not only Java compliant but is also
compatible with existing Java implementations.
This page describes the class library code guidelines for ensuring that compatibility.
</p>
-
- <tr><td>
- <h2>
- <a name="The "Reference Implementation"">The "Reference Implementation"</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <a name="referenceImpl" />
- <p>
+
+ <h2>
+ <a name="The "Reference Implementation"">The "Reference Implementation"</a>
+ </h2>
+
+ <a name="referenceImpl" />
+ <p>
The Harmony project
'<a href="http://incubator.apache.org/harmony/subcomponents/classlibrary">classlib</a>'
effort is producing a set of class library code that is compatible with
<a href="http://java.sun.com/j2se/1.5.0/docs/api/index.html">the Java SE 5.0 API
specification</a>.
</p>
- <p>
+ <p>
At times (discussed below) it is necessary to augment the specification based on the
behavior of the reference implementation (RI) of the Java SE 5.0 specification. In
such cases we use <a href="http://java.sun.com/j2se/1.5.0/download.jsp">the latest
official release of the Java SE 5.0 RI</a>.
</p>
- <p>
+ <p>
We are aware that there are other compliant implementations of Java 5.0 available
but there is only one reference implementation of the Java specification.
</p>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="General Compatibility Guidelines">General Compatibility Guidelines</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="General Compatibility Guidelines">General Compatibility Guidelines</a>
+ </h2>
+
+ <p>
The following general guidelines apply when developing class library code for Apache
Harmony:
<ul>
@@ -306,35 +294,30 @@
</p></li>
</ul>
</p>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Exception-throwing compatibility">Exception-throwing compatibility</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Exception-throwing compatibility">Exception-throwing compatibility</a>
+ </h2>
+
+ <p>
There are a number of methods in the Java specification that describe the conditions under
which exceptions are thrown. However, in most cases the specification does not describe all possible
exceptions that may be thrown, the order of exception throwing (i.e. where there are multiple
conditions that would result in an exception), and so on.
</p>
- <p>
+ <p>
The Harmony class libary code aims to be fully compatible with the Reference Implementation (RI)
of the Java Specification by matching the exception characteristics of each method.
</p>
- <p>
+ <p>
Harmony
<b>classlib</b> developers write test cases that deliberately cause exceptions to be thrown
so that we can match exception behaviour like-for-like. Harmony class library code throws exceptions
of the same runtime class (or a subtype of that runtime class) as the RI, other than
in cases where the RI throws non-public types whereupon Harmony will throw an exception with the same public supertype.
</p>
- <p>
+ <p>
Generally, we could refer to the following steps.
<ul>
<li><b>If RI is compliant with the Java Specification</b>
@@ -377,50 +360,40 @@
</li>
</ul>
</p>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Serialization compatibility">Serialization compatibility</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Serialization compatibility">Serialization compatibility</a>
+ </h2>
+
+ <p>
The Harmony class library code aims to be serialization compatible with the reference
implementation (RI).
</p>
- <p>
+ <p>
The Java Specification describes the serialized form of many Java types. Where given, <b>classlib</b> will follow
the specified serialized form. When the serialized form is <u>not</u> given we will ensure that the
serialization data is compatible with the RI by ensuring that objects serialized from the RI
can be read by Harmony's <b>classlib</b> code, and vice versa.
</p>
- <p>
+ <p>
Serialization tests are part
of our regular test suite and typically rely on having the persistent form of serialized objects
written from the RI stored alongside our test suite code.
</p>
- <p>
+ <p>
To indicate that we are serialization-compatible we define an explicit Stream Unique Identifier
(SUID) in each of the Harmony <b>classlib</b> serializable types that is equal to the SUID of
the corresponding type in the RI.
</p>
- <p>
+ <p>
Where the RI produces a serialized form that cannot be replicated by Harmony (e.g. the RI serialized
form includes types that are not part of the Java specification) then Harmony cannot be
serialization compatible with the RI, and will both make a prominent note of such in the relevant
type's JavaDoc comment, and raise a JIRA issue that describes the incompatibility.
</p>
-
- </td></tr>
-
-
- </td></tr>
- </table>
- <p><a href="#top">Back to top</a></p>
+
+ <p><a href="#top">Back to top</a></p>
</td>
</tr>
Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/dev_eclipse.html
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/dev_eclipse.html?view=diff&rev=475189&r1=475188&r2=475189
==============================================================================
--- incubator/harmony/standard/site/docs/subcomponents/classlibrary/dev_eclipse.html (original)
+++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/dev_eclipse.html Wed Nov 15 02:40:02 2006
@@ -204,18 +204,14 @@
</ul>
</td>
<td width="80%" valign="top"><a name="top"></a>
- <table cellspacing="0" cellpadding="2" width="100%">
- <tr><td>
- <h1>
- <a name="Introduction">Introduction</a>
- </h1>
- </td></tr>
- <tr><td>
- <p>
+ <h1>
+ <a name="Introduction">Introduction</a>
+ </h1>
+ <p>
These instructions will help you set up Eclipse to develop Java code
in Apache Harmony.
</p>
- <p>
+ <p>
There are two sets of instructions -- the <a href="#fastpath">fast path</a>
for people who are
already familiar with Eclipse and the source code layout in Harmony's
@@ -224,19 +220,16 @@
for people who want to follow the details of a set-up, and see a brief
development example.
</p>
- <p>
+ <p>
Both sets of instructions assume you satisfy the same Eclipse-based
development <a href="#prerequisites">prerequsities</a>.
</p>
-
- <tr><td>
- <h2>
- <a name="Am I eligible?">Am I eligible?</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+ <h2>
+ <a name="Am I eligible?">Am I eligible?</a>
+ </h2>
+
+ <p>
You may have heard or read about Harmony's strict rules for contributor's
eligibility. We take this seriously because a number of parties implement
Java, and we respect their rights to their property. If you have detailed
@@ -245,22 +238,13 @@
to accept your contribution by reading the
<a href="../../contribution_policy">Apache Harmony contribution policy</a>.
</p>
-
- </td></tr>
-
-
- </td></tr>
- </table>
- <p><a href="#top">Back to top</a></p>
- <table cellspacing="0" cellpadding="2" width="100%">
- <tr><td>
- <h1>
- <a name="Prerequisites for developing Apache Harmony class library code with Eclipse">Prerequisites for developing Apache Harmony class library code with Eclipse</a>
- </h1>
- </td></tr>
- <tr><td>
- <a name="prerequisites" />
- <p>
+
+ <p><a href="#top">Back to top</a></p>
+ <h1>
+ <a name="Prerequisites for developing Apache Harmony class library code with Eclipse">Prerequisites for developing Apache Harmony class library code with Eclipse</a>
+ </h1>
+ <a name="prerequisites" />
+ <p>
To develop the class library Java code with Eclipse JDT you will need:
<ol>
<li>Eclipse : version 3.2 integration build I20060119 or later, from
@@ -277,31 +261,21 @@
the snapshot.</li>
</ol>
</p>
-
- </td></tr>
- </table>
- <p><a href="#top">Back to top</a></p>
- <table cellspacing="0" cellpadding="2" width="100%">
- <tr><td>
- <h1>
- <a name="Fast path - for experienced Eclipse developers">Fast path - for experienced Eclipse developers</a>
- </h1>
- </td></tr>
- <tr><td>
- <a name="fastpath" />
- <p>
+ <p><a href="#top">Back to top</a></p>
+ <h1>
+ <a name="Fast path - for experienced Eclipse developers">Fast path - for experienced Eclipse developers</a>
+ </h1>
+ <a name="fastpath" />
+ <p>
If you know your way around Eclipse JDT, then following these steps will
have you hacking Harmony Java code in no time at all!
</p>
-
- <tr><td>
- <h2>
- <a name="Configuring Eclipse">Configuring Eclipse</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+ <h2>
+ <a name="Configuring Eclipse">Configuring Eclipse</a>
+ </h2>
+
+ <p>
Ensure that you have <a href="#prerequisites">the development pre-requisites</a>
in place, then:
<ol>
@@ -333,23 +307,18 @@
<code>https://svn.apache.org/repos/asf/incubator/harmony/enhanced/classlib</code></li>
</ol>
</p>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Develop and test code">Develop and test code</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Develop and test code">Develop and test code</a>
+ </h2>
+
+ <p>
The Apache Harmony class library is structured to allow developers to work on individual
<em>modules</em> in the class library without having to load and compile the entire
project source tree.
</p>
- <p>
+ <p>
This is best illustrated by a worked example. In this example, assume you want to make
a change to the <code>NIO</code> module. This is how you would proceed:
<ol>
@@ -383,22 +352,13 @@
<a href="../../get-involved.html#create_patch">contribute a patch</a>.</li>
</ol>
</p>
-
- </td></tr>
-
-
- </td></tr>
- </table>
- <p><a href="#top">Back to top</a></p>
- <table cellspacing="0" cellpadding="2" width="100%">
- <tr><td>
- <h1>
- <a name="Step-by-step guide to Eclipse-based development">Step-by-step guide to Eclipse-based development</a>
- </h1>
- </td></tr>
- <tr><td>
- <a name="step_guide" />
- <p>
+
+ <p><a href="#top">Back to top</a></p>
+ <h1>
+ <a name="Step-by-step guide to Eclipse-based development">Step-by-step guide to Eclipse-based development</a>
+ </h1>
+ <a name="step_guide" />
+ <p>
We have produced a brief webcast for those who want to see a step-by-step guide
to configuring Eclipse, and developing a patch to the classlibrary code. The webcast
starts assuming you have already installed the pre-requisities for Eclipse-based
@@ -406,10 +366,7 @@
<pre>eclipse -vmargs -Dpde.jreProfile=none</pre>
We <a href="dev_eclipse_movie.html">pick up the story here...</a> (<em>Warning 8Mb flash download!</em>)
</p>
-
- </td></tr>
- </table>
- <p><a href="#top">Back to top</a></p>
+ <p><a href="#top">Back to top</a></p>
</td>
</tr>
Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/hdk.html
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/hdk.html?view=diff&rev=475189&r1=475188&r2=475189
==============================================================================
--- incubator/harmony/standard/site/docs/subcomponents/classlibrary/hdk.html (original)
+++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/hdk.html Wed Nov 15 02:40:02 2006
@@ -204,28 +204,21 @@
</ul>
</td>
<td width="80%" valign="top"><a name="top"></a>
- <table cellspacing="0" cellpadding="2" width="100%">
- <tr><td>
- <h1>
- <a name="Harmony Development Kit for the Apache Harmony Class Library">Harmony Development Kit for the Apache Harmony Class Library</a>
- </h1>
- </td></tr>
- <tr><td>
- <p>
+ <h1>
+ <a name="Harmony Development Kit for the Apache Harmony Class Library">Harmony Development Kit for the Apache Harmony Class Library</a>
+ </h1>
+ <p>
The Harmony Development Kit (HDK) allows a Harmony developer to
rebuild any module of the Harmony Classlib in a standalone way by providing all the
necesary supplementary binaries and header files. This document describes the layout
of such an HDK and its contents.
</p>
-
- <tr><td>
- <h2>
- <a name="Layout of the HDK">Layout of the HDK</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+ <h2>
+ <a name="Layout of the HDK">Layout of the HDK</a>
+ </h2>
+
+ <p>
An HDK contains all the header files and binaries, both native and Java, required
for a Harmony classlib developer to build against. The directory structure for an
HDK is as follows:
@@ -282,18 +275,13 @@
</li>
</ul>
</p>
-
- </td></tr>
-
-
- <tr><td>
- <h2>
- <a name="Building Classlib Against an HDK">Building Classlib Against an HDK</a>
- </h2>
- </td></tr>
- <tr><td>
-
- <p>
+
+
+ <h2>
+ <a name="Building Classlib Against an HDK">Building Classlib Against an HDK</a>
+ </h2>
+
+ <p>
<i>Note: The HDK and relevant build system changes are work in progress.
Not all of the Ant targets/properties described exist yet, and thus not
all of what is described below currently works. This disclaimer will be
@@ -329,13 +317,8 @@
specified, and all produced binaries placed under the target directory, laid
out in the HDK structure described at the top of this page.
</p>
-
- </td></tr>
-
-
- </td></tr>
- </table>
- <p><a href="#top">Back to top</a></p>
+
+ <p><a href="#top">Back to top</a></p>
</td>
</tr>