Return-Path:
- This document explains how to get configured to build and
- work with the Apache Harmony source code. The build is evolving.
- If you come across a problem, double-check the
+ Follow these instructions to get configured to build and
+ work with the Apache Harmony source code. To get the Harmony code
+ and build it, follow these steps:
+ After successfully building the source code, you will be able to
+ run Java* applications with Harmony.
+
+ If you only need specific parts of the source code and not the whole HDK
+ (Harmony Java developer's kit), you can follow
+ component-wise instructions.
+ Note:
+ The build is evolving. If you come across a problem, double-check the
mailing list:
- your issue may have been already discovered and resolved.
+ your issue may have been already discovered and resolved. Otherwise,
+ you can write a new mail to ask for help and support.
Basic Prerequisites
The tools you must have to be able to work with Harmony are: The tools you must have to be able to work with Harmony are:
+
+
+
- Prerequisites
+ 1. Prerequisites
@@ -306,23 +338,21 @@
-
+
+
- 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 federated build 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. -
+ 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 federated build 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. +- To check out the federated build, use the following command: -
--$ svn co https://svn.apache.org/repos/asf/harmony/enhanced/trunk+ To check out the federated build, use the following command: + +
$ svn co https://svn.apache.org/repos/asf/harmony/enhanced/trunk
- The given command checks out a directory structure that
- contains working_classlib
and working_vm
- directories. After you populate the source trees in the next step,
- working_classlib
- will be the checkout of the class library SVN tree
- and working_vm
will be the checkout
- of the DRLVM SVN tree.
-
working_classlib
and working_vm
+ directories. After you populate the source trees in the next step,
+ working_classlib
+ will be the checkout of the class library SVN tree
+ and working_vm
will be the checkout
+ of the DRLVM SVN tree.
+
Note
- If the root of the federated build is multiple levels deep in - your file system, 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 file system or switch operating systems. -
+ If the root of the federated build is multiple levels deep in + your file system, 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 file system or switch operating systems. + + + ++ Now you should be ready to build the code. For the first time you build, + you might want to fetch all the 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. To fetch the + dependencies and check out, build, and package snapshots of the JRE and HDK, type + the following command in the root directory of the federated build: +
+$ ant -Dauto.fetch=true
- If you type ant
in the root directory of federated build,
- you will checkout, build, and package snapshots of the JRE and HDK.
- However, as this approach builds the full JDK, it can be inconvenient
- for a developer focused on a specific area, so please continue
- with the next steps.
-
THIRD_PARTY_NOTICES.txt
+ in the root directory for details. This is only needed during your first build. For
+ subsequent builds, just type:
+
+ $ ant
Note
- If you do choose to build from the federated build root, you may need to - increase the Java heap available to Ant. We suggest setting the "ANT_OPTS" environment + If you choose to build from the federated build root, you may need to + increase the Java heap available to Ant. We suggest setting the "ANT_OPTS" environment variable as ANT_OPTS='-Xms256m -Xmx512m' in the manner appropriate for your operating system. -
+ ++ Because running Ant in the root directory builds the full JDK, it can be inconvenient + for a developer focused on a specific area. If you are not interested in building + the full HDK, follow the detailed instructions + to build each JRE component separately. +
+ +If you do not need to build the whole HDK and did not execute ant
+ in step 3, follow these instructions to
+ build each component in turn and assemble the JRE from them. The building
+ procedure consists of the following steps:
@@ -428,7 +501,7 @@
@@ -452,21 +525,17 @@
$ ant clean- -
- Now you should be ready to build the code. First build - the class library because DRLVM has a dependency on it and also - assembles a working JRE as part of its build. -
+ Now you should be ready to build the code. First build + the class library because DRLVM has a dependency on it and also + assembles a working JRE as part of its build. +
+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 @@ -491,7 +560,7 @@
Modified: harmony/standard/site/xdocs/quickhelp_contributors.xml URL: http://svn.apache.org/viewvc/harmony/standard/site/xdocs/quickhelp_contributors.xml?rev=581607&r1=581606&r2=581607&view=diff ============================================================================== --- harmony/standard/site/xdocs/quickhelp_contributors.xml (original) +++ harmony/standard/site/xdocs/quickhelp_contributors.xml Wed Oct 3 07:09:03 2007 @@ -1,4 +1,4 @@ - +