You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by na...@apache.org on 2006/12/06 13:12:47 UTC
svn commit: r483048 - in /harmony/standard/site: docs/documentation/
docs/subcomponents/classlibrary/ xdocs/documentation/
xdocs/subcomponents/classlibrary/
Author: nadinem
Date: Wed Dec 6 04:12:45 2006
New Revision: 483048
URL: http://svn.apache.org/viewvc?view=rev&rev=483048
Log:
resolve HARMONY-2009: updating Eclipse-related page and move it out of classlib dir
Added:
harmony/standard/site/xdocs/documentation/dev_eclipse.xml
harmony/standard/site/xdocs/documentation/dev_eclipse_movie.html
Removed:
harmony/standard/site/docs/subcomponents/classlibrary/dev_eclipse.html
harmony/standard/site/docs/subcomponents/classlibrary/dev_eclipse_movie.html
harmony/standard/site/xdocs/subcomponents/classlibrary/dev_eclipse.xml
harmony/standard/site/xdocs/subcomponents/classlibrary/dev_eclipse_movie.html
Modified:
harmony/standard/site/docs/documentation/dev_eclipse.html
harmony/standard/site/docs/subcomponents/classlibrary/index.html
harmony/standard/site/xdocs/subcomponents/classlibrary/index.xml
Modified: harmony/standard/site/docs/documentation/dev_eclipse.html
URL: http://svn.apache.org/viewvc/harmony/standard/site/docs/documentation/dev_eclipse.html?view=diff&rev=483048&r1=483047&r2=483048
==============================================================================
--- harmony/standard/site/docs/documentation/dev_eclipse.html (original)
+++ harmony/standard/site/docs/documentation/dev_eclipse.html Wed Dec 6 04:12:45 2006
@@ -18,9 +18,6 @@
-->
-<!-- Content Stylesheet for Site -->
-
-
<!-- start the processing -->
<!-- ====================================================================== -->
<!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
@@ -31,7 +28,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<meta name="author" value="Harmony Documentation Team">
- <meta name="email" value="harmony-dev@incubator.apache.org">
+ <meta name="email" value="dev@harmony.apache.org">
@@ -39,379 +36,400 @@
- <title>Apache Harmony - Apache Harmony development using Eclipse</title>
+ <title>Apache Harmony - Apache Harmony Development Using Eclipse</title>
+
+
+
+ <link rel="stylesheet" type="text/css" href="../site.css"/>
</head>
- <body bgcolor="#ffffff" text="#000000" link="#525D76">
- <table border="0" width="100%" cellspacing="0">
+ <body>
+ <table width="100%" cellspacing="0">
<!-- TOP IMAGE -->
<tr>
<td align='LEFT'>
<table><tr><td>
- <td align="left">
-<a href="http://incubator.apache.org/harmony/"><img src="../images/harmony-logo.png" alt="Apache Harmony" border="0"/></a>
+ <td>
+<a href="http://harmony.apache.org/"><img src="../images/harmony-logo-new.png" alt="Apache Harmony" /></a>
</td>
</td>
</td></tr></table>
</td>
<td align='RIGHT'>
- <a href="http://incubator.apache.org/harmony/">
- <img src="http://incubator.apache.org/harmony/images/apache-incubator-logo.png"
- alt="Apache Harmony" border="0"/></a>
- </td>
+<!-- <a href="http://harmony.apache.org/">
+ <img src="http://harmony.apache.org/images/apache-incubator-logo.png"
+ alt="Apache Harmony" /></a>
+--> </td>
</tr>
</table>
- <table border="0" width="100%" cellspacing="4">
+ <table width="100%" cellspacing="4">
<tr><td colspan="2">
<hr noshade="" size="1"/>
</td></tr>
<tr>
<!-- LEFT SIDE NAVIGATION -->
- <td width="20%" valign="top" nowrap="true">
+ <td class="menuItem" width="20%" nowrap="true">
- <!-- special ACon Logo - leave here for next time
- <a href="http://apachecon.com/2005/US/">
- <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
- width="125" border="0" alt="ApacheCon US 2005" />
- </a>
- -->
+ <!-- special ACon Logo - leave here for next time
+ <a href="http://www.us.apachecon.com/">
+ <img src="http://www.apache.org/ads/ApacheCon/240x120-2006-us.gif"
+ alt="ApacheCon US 2006" />
+ </a> -->
<!-- regular menu -->
<!-- ============================================================ -->
- <p><strong>General</strong></p>
+ <p class="menuItem"><strong>General</strong></p>
<ul>
- <li> <a href="../index.html">Home</a>
+ <li class="menuItem"> <a href="../index.html">Home</a>
</li>
- <table>
- </table>
- <li> <a href="../license.html">License</a>
+
+
+ <li class="menuItem"> <a href="../license.html">License</a>
</li>
- <table>
- </table>
- <li> <a href="../contribution_policy.html">Contribution Policy</a>
+
+
+ <li class="menuItem"> <a href="../contribution_policy.html">Contribution Policy</a>
</li>
- <table>
- </table>
- <li> <a href="../guidelines.html">Project Guidelines</a>
+
+
+ <li class="menuItem"> <a href="../guidelines.html">Project Guidelines</a>
</li>
- <table>
- </table>
- <li> <a href="http://www.apache.org/">ASF</a>
+
+
+ <li class="menuItem"> <a href="http://www.apache.org/">ASF</a>
</li>
- <table>
- </table>
- <li> <a href="../downloads.html">Downloads</a>
+
+
+ <li class="menuItem"> <a href="../downloads.html">Downloads</a>
</li>
- <table>
- </table>
+
+
</ul>
- <p><strong>Community</strong></p>
+ <p class="menuItem"><strong>Community</strong></p>
<ul>
- <li> <a href="../get-involved.html">Get Involved</a>
+ <li class="menuItem"> <a href="../get-involved.html">Get Involved</a>
</li>
- <table>
- </table>
- <li> <a href="../contributors.html">Committers</a>
+
+
+ <li class="menuItem"> <a href="../contributors.html">Committers</a>
</li>
- <table>
- </table>
- <li> <a href="../mailing.html">Mailing Lists</a>
+
+
+ <li class="menuItem"> <a href="../mailing.html">Mailing Lists</a>
</li>
- <table>
- </table>
- <li> <a href="../documentation/documentation.html">Documentation</a>
+
+
+ <li class="menuItem"> <a href="../documentation/documentation.html">Documentation</a>
</li>
- <table>
- </table>
- <li> <a href="../faq.html">FAQ</a>
+
+
+ <li class="menuItem"> <a href="../faq.html">FAQ</a>
</li>
- <table>
- </table>
- <li> <a href="http://wiki.apache.org/harmony">Wiki</a>
+
+
+ <li class="menuItem"> <a href="http://wiki.apache.org/harmony">Wiki</a>
</li>
- <table>
- </table>
+
+
</ul>
- <p><strong>Development</strong></p>
+ <p class="menuItem"><strong>Development</strong></p>
<ul>
- <li> <a href="../status.html">How Are We Doing?</a>
+ <li class="menuItem"> <a href="../status.html">How Are We Doing?</a>
</li>
- <table>
- </table>
- <li> <a href="../roadmap.html">Road Map / TODO</a>
+
+
+ <li class="menuItem"> <a href="../roadmap.html">Road Map / TODO</a>
</li>
- <table>
- </table>
- <li> <a href="../svn.html">Source Code</a>
+
+
+ <li class="menuItem"> <a href="../svn.html">Source Code</a>
</li>
- <table>
- </table>
- <li> <a href="http://issues.apache.org/jira/browse/HARMONY">JIRA</a>
+
+
+ <li class="menuItem"> <a href="http://issues.apache.org/jira/browse/HARMONY">JIRA</a>
</li>
- <table>
- </table>
- <li> <a href="../related.html">Other Projects</a>
+
+
+ <li class="menuItem"> <a href="../related.html">Other Projects</a>
</li>
- <table>
- </table>
+
+
</ul>
- <p><strong>Subcomponents</strong></p>
+ <p class="menuItem"><strong>Subcomponents</strong></p>
<ul>
- <li> <a href="../subcomponents/classlibrary/index.html">Class Library</a>
+ <li class="menuItem"> <a href="../subcomponents/buildtest/index.html">Build-Test Framework</a>
</li>
- <table>
- <tr><td>
- <a href="../subcomponents/classlibrary/status.html">Status</a>
- </td></tr>
- </table>
- <li> <a href="../subcomponents/jchevm/index.html">Virtual Machine JCHEVM</a>
+
+
+ <li class="menuItem"> <a href="../subcomponents/classlibrary/index.html">Class Library</a>
+</li>
+
+
+ <table>
+ <tr><td class="menuItem">
+ <a href="../subcomponents/classlibrary/status.html">Status</a>
+ </td></tr>
+ </table>
+
+ <li class="menuItem"> <a href="../subcomponents/drlvm/index.html">DRLVM</a>
+</li>
+
+
+
+ <li class="menuItem"> <a href="../subcomponents/jchevm/index.html">JCHEVM</a>
</li>
- <table>
- </table>
+
+
</ul>
</td>
- <td width="80%" align="left" valign="top">
- <table border="0" cellspacing="0" cellpadding="2" width="100%">
- <tr><td bgcolor="#525D76">
- <font color="#ffffff" face="arial,helvetica,sanserif">
- <a name="Introduction"><strong>Introduction</strong></a>
- </font>
- </td></tr>
- <tr><td>
- <blockquote>
- <p>
- These instructions will help you set up Eclipse to develop Java code
- in Apache Harmony.
- </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
- Subversion repository; and the
- <a href="#step_guide">step-by-step guide</a>
- for people who want to follow the details of a set-up, and see a brief
- development example.
- </p>
- <p>
- Both sets of instructions assume you satisfy the same Eclipse-based
- development <a href="#prerequisites">prerequsities</a>.
- </p>
- <table border="0" cellspacing="0" cellpadding="2" width="100%">
- <tr><td bgcolor="#828DA6">
- <font color="#ffffff" face="arial,helvetica,sanserif">
- <a name="Am I eligible?"><strong>Am I eligible?</strong></a>
- </font>
- </td></tr>
- <tr><td>
- <blockquote>
- <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
- knowledge of another implementation of Java, and they have not explicitly
- approved your participation in Harmony, please check whether we will be able
- to accept your contribution by reading the
- <a href="../contribution_policy">Apache Harmony contribution policy</a>.
- </p>
- </blockquote>
- </td></tr>
- <tr><td><br/></td></tr>
- </table>
- </blockquote>
- </p>
- </td></tr>
- <tr><td><br/></td></tr>
- </table>
- <table border="0" cellspacing="0" cellpadding="2" width="100%">
- <tr><td bgcolor="#525D76">
- <font color="#ffffff" face="arial,helvetica,sanserif">
- <a name="Prerequisites for developing Apache Harmony class library code with Eclipse"><strong>Prerequisites for developing Apache Harmony class library code with Eclipse</strong></a>
- </font>
- </td></tr>
- <tr><td>
- <blockquote>
- <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
- <a href="http://download.eclipse.org">eclipse.org</a></li>
- <li>Subclipse : Subversion plug-in from <a href="http://subclipse.tigris.org/">
- tigris.org</a></li>
- <li>a snapshot classlib build : from the
- <a href="http://cvs.apache.org/dist/incubator/harmony/snapshots/">
- download page</a>. If you prefer to build a snapshot yourself the
- instructions are <a href="build_classlib.html">here</a>.</li>
- <li>a compatible VM : obtain a VM as
- <a href="build_classlib.html#Obtaining_a_VM">described here</a> capable
- of running the class libary code, and install it in the same location as
- the snapshot.</li>
- </ol>
- </p>
- </blockquote>
- </p>
- </td></tr>
- <tr><td><br/></td></tr>
- </table>
- <table border="0" cellspacing="0" cellpadding="2" width="100%">
- <tr><td bgcolor="#525D76">
- <font color="#ffffff" face="arial,helvetica,sanserif">
- <a name="Fast path - for experienced Eclipse developers"><strong>Fast path - for experienced Eclipse developers</strong></a>
- </font>
- </td></tr>
- <tr><td>
- <blockquote>
- <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>
- <table border="0" cellspacing="0" cellpadding="2" width="100%">
- <tr><td bgcolor="#828DA6">
- <font color="#ffffff" face="arial,helvetica,sanserif">
- <a name="Configuring Eclipse"><strong>Configuring Eclipse</strong></a>
- </font>
- </td></tr>
- <tr><td>
- <blockquote>
- <p>
- Ensure that you have <a href="#prerequisites">the development pre-requisites</a>
- in place, then:
- <ol>
- <li>Launch Eclipse with the VM argument "<code>-Dpde.jreProfile=none</code>"
- (i.e. <code>eclipse -vmargs -Dpde.jreProfile=none</code>).</li>
- <li>Configure the following settings in <code>Window > Preferences...</code>
- <ul>
- <li>Change the Java compiler settings
- <ol>
- <li>In the <code>Java > Compiler</code> preferences ensure the
- "<code>Compiler compliance level</code>" is set to
- <code>1.4</code>.</li>
- <li>In the <code>Java > Compiler > Building</code> preferences,
- open the "<code>Build Path Problems</code>" section
- and change "<code>Circular Dependencies</code>" from
- <code>Error</code> to <code>Warning</code>.</li>
- </ol></li>
- <li>Change the PDE settings
- <ol>
- <li>In the <code>Plug-in Development > Compilers</code> preferences
- change "<code>Unresolved Dependencies</code>" from
- <code>Error</code> to <code>Warning</code>.</li>
- <li>In the <code>Plug-in Development > Target Platform</code>
- preferences, change the "Location:" box to be the
- <code>jre/lib/boot</code> directory of the classlib snapshot.</li>
- </ol></li>
- </ul></li>
- <li>Create a SVN repository location to the Harmony classlib, using URL
- <code>https://svn.apache.org/repos/asf/incubator/harmony/enhanced/classlib</code></li>
- </ol>
- </p>
- </blockquote>
- </td></tr>
- <tr><td><br/></td></tr>
- </table>
- <table border="0" cellspacing="0" cellpadding="2" width="100%">
- <tr><td bgcolor="#828DA6">
- <font color="#ffffff" face="arial,helvetica,sanserif">
- <a name="Develop and test code"><strong>Develop and test code</strong></a>
- </font>
- </td></tr>
- <tr><td>
- <blockquote>
- <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>
- 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>
- <li>Go to the SVN repository view, open the Harmony URL and browse to
- "<code>trunk > modules</code>". Select
- "<code>nio</code>" and from the context menu select
- <code>Checkout...</code>, and on the checkout dialog just
- click "<code>Finish</code>"</li>
- <li>In the resulting project in your workspace the implementation code
- is in the source folder <code>src/main/java</code> and the unit tests
- are in the source folder <code>src/test/java</code>.</li>
- <li>Hack away! Developers are encouraged to produce JUnit tests for new
- implementation code.</li>
- <li>To test the code you need to set-up a JUnit Run Configuration for the
- unit test. You can either run a single test case, or run the
- <code>AllTests</code> suite for all tests in a package or module.
- For example, to run the test suite
- <code>org.apache.harmony.tests.nio.AllTests</code> set up a
- run configuration with the following characteristics:
- <ul>
- <li><em>bootclasspath</em> : the folder nio/bin/main, followed by
- the Harmony JRE library.</li>
- <li><em>classpath</em> : the folder nio/bin/test, followed by the
- JUNIT JAR file.</li>
- <br />
- <img src="../images/dev_eclipse_runconf.jpg" alt="Java run configuration" />
- <li><em>VM</em> : the Harmony JRE as the launching VM.</li>
- </ul>
- </li>
- <li>If everything looks good, go ahead and
- <a href="../get-involved.html#create_patch">contribute a patch</a>.</li>
- </ol>
- </p>
- </blockquote>
- </td></tr>
- <tr><td><br/></td></tr>
- </table>
- </blockquote>
- </p>
- </td></tr>
- <tr><td><br/></td></tr>
- </table>
- <table border="0" cellspacing="0" cellpadding="2" width="100%">
- <tr><td bgcolor="#525D76">
- <font color="#ffffff" face="arial,helvetica,sanserif">
- <a name="Step-by-step guide to Eclipse-based development"><strong>Step-by-step guide to Eclipse-based development</strong></a>
- </font>
- </td></tr>
- <tr><td>
- <blockquote>
- <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
- development, and launched Eclipse with the following commandline:
- <pre>eclipse -vmargs -Dpde.jreProfile=none</pre>
- We <a href="dev_eclipse_movie.html">pick up the story here...</a>
- </p>
- </blockquote>
- </p>
- </td></tr>
- <tr><td><br/></td></tr>
- </table>
- </td>
+ <td width="80%" valign="top"><a name="top"></a>
+ <h1>
+ <a name="Introduction">Introduction</a>
+ </h1>
+ <p>
+ The current page provides instructions on how to set up Eclipse to develop Java code
+ in Apache Harmony, with sections for both DRLVM and class library development.
+ </p>
+ <p>
+ DRLVM specific instructions are only emerging, while class library specific
+ instructions are in two sets: the <a href="#fastpath">fast path</a>
+ for people familiar with Eclipse and the source code layout in Harmony's
+ Subversion repository; and the
+ <a href="#step_guide">step-by-step guide</a>
+ for novices who want to follow the details of a setup and see a brief
+ development example.
+ </p>
+ <p>
+ All instructions assume you satisfy the same Eclipse-based
+ development prerequsities, as described in the following section.
+ </p>
+
+ <h2>
+ <a name="Prerequisites">Prerequisites</a>
+ </h2>
+
+ <p>
+ To develop Apache Harmony Java code with Eclipse JDT, you need:
+ </p>
+ <ol>
+ <li>
+ Eclipse: version 3.2 or later, from
+ <a href="http://download.eclipse.org">eclipse.org</a>
+ </li>
+ <li>
+ A Subversion plug-in: Either Subclipse from <a href="http://subclipse.tigris.org/">
+ tigris.org
+ </a> or Subversive from <a href="http://www.polarion.org">
+ polarion.org
+ </a>
+ </li>
+ </ol>
+
+
+ <h2>
+ <a name="Getting the Code">Getting the Code</a>
+ </h2>
+
+ <p>
+ You will surely need the code to work with. <i>For class library development</i>,
+ you'll need a compatible VM: obtain a VM as
+ <a href="../subcomponents/classlibrary/build_classlib.html#Obtaining_a_VM">described here</a> capable
+ of running the class libary code, and install it in the same location as
+ the snapshot. You will also need the class libraries build if you want to work
+ on a particular module.
+ </p>
+ <p>Analogously, you'll need class libraries for <i>DRLVM development</i>.
+ Follow one of these ways depending on your needs:
+ </p>
+ <ul>
+ <li>
+ <b>Get pre-built snapshot</b> from the
+ <a href="http://people.apache.org/builds/harmony/snapshots/">download page</a>.
+ </li>
+ <li>
+ <b>Download source code</b> to be built manually. For that, create an SVN repository location
+ using the URL:
+ <pre>
+///for classlibraries
+https://svn.apache.org/repos/asf/harmony/enhanced/classlib
+
+///for DRLVM
+https://svn.apache.org/repos/asf/harmony/enhanced/drlvm</pre>
+ Check out the code from SVN selecting <b>Checkout...</b> from the context menu of <code>trunk</code>.
+ </li>
+ </ul>
+
+ <p><a href="#top">Back to top</a></p>
+ <h1>
+ <a name="DRLVM Development">DRLVM Development</a>
+ </h1>
+ <a name="drlvm" />
+ <p>For details on how to build DRLVM and other related documentation, please see
+ the <a href="../subcomponents/drlvm/index.html">DRLVM web pages</a>.
+ </p>
+ <p><a href="#top">Back to top</a></p>
+ <h1>
+ <a name="Class Library Development: Fast Path - for Experienced Eclipse developers">Class Library Development: 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>
+
+ <h2>
+ <a name="Configuring Eclipse">Configuring Eclipse</a>
+ </h2>
+
+ <p>
+ Ensure that you have <a href="#Prerequisites">the development prerequisites</a>
+ in place. Then if you are using Linux start Eclipse as normal with the arguments
+ <code>-vmargs -Dpde.jreProfile=none -Dpde.allowCycles=true</code> and skip to step 4. If
+ you are using Windows do the following:</p>
+ <ol>
+ <li>Copy the <code>vsvars32.bat</code> file from your Visual Studio install directory
+ to any convenient location. If you have chosen the defaults when installing, you
+ will find the given file in the <code>
+ C:\Program Files\Microsoft Visual Studio.NET 2003\Common7\Tools</code> directory.</li>
+ <li>Edit the <code>vsvars32.bat</code> file adding the following line right after the
+ last line beginning with <code>@set...</code>:
+ <pre>start C:\...\eclipse\eclipse.exe -vmargs -Xmx512M -Dpde.jreProfile=none -Dpde.allowCycles=true</pre>
+ In the line above, <code>"..."</code> is the path to your Eclipse installation directory.
+
+ <p class="note">Note</p>
+ <p class="notetext">Using <code>-vmargs -Xmx512M</code> is optional,
+ but helpful to stop Eclipse running out of memory.</p></li>
+ <li>To start Eclipse, double click on the <code>vsvars32.bat</code> file.
+ </li>
+
+ <li>
+ Configure the following settings in <b>Window</b> > <b>Preferences</b>:
+ </li>
+ <ul>
+ <li>Change the Java compiler settings:
+ <ol>
+ <li>In the <b>Java</b> > <b>Compiler</b> preferences ensure the
+ <b>Compiler compliance level</b> is set to
+ <b>1.4</b>.
+ </li>
+ <li>In the <b>Java</b> > <b>Compiler</b> > <b>Building</b> preferences,
+ open the <b>Build Path Problems</b> section
+ and change <b>Circular Dependencies</b> from
+ <b>Error</b> to <b>Warning</b>.
+
+ </li>
+ </ol></li>
+ <li>Change the PDE settings:
+ <ol>
+ <li>In the <b>Plug-in Development</b> > <b>Compilers</b> preferences
+ change <b>Unresolved Dependencies</b> from
+ <b>Error</b> to <b>Warning</b>.
+ </li>
+ <li>In the <b>Plug-in Development</b> > <b>Target Platform</b>
+ preferences, change the <b>Location</b> box to be the
+ <code>jre/lib/boot</code> directory of the classlib snapshot.</li>
+ </ol></li>
+ </ul>
+ <li>Copy the <code>ecj_3.2.jar</code> file into the
+ <code>...\eclipse\plugins\org.apache.ant_1.6.5\lib</code> directory.</li>
+ <li>To include the given file, configure the following Ant settings in
+ <b>Window</b> > <b>Preferences</b> > <b>Ant</b> > <b>Runtime</b>:
+ </li>
+ <ul>
+ <li>Select <b>Global Entries</b>
+ </li>
+ <li>Select <b>Add External Jars</b>
+ </li>
+ <li>Add the <code>ecj_3.2.jar</code> file from
+ the <code>org.apache.ant_1.6.5\lib</code> directory.
+ </li>
+ </ul>
+ </ol>
+
+
+ <h2>
+ <a name="Developing and Testing Code">Developing and Testing 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>
+ 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>
+ <li>Go to the SVN repository view, open the Harmony URL and browse to
+ <code>trunk > modules</code>. Select
+ <code>nio</code> and from the context menu select
+ <b>Checkout...</b>, and on the checkout dialog box click <b>Finish</b>.</li>
+ <li>In the resulting project in your workspace the implementation code
+ is in the source folder <code>src/main/java</code> and the unit tests
+ are in the source folder <code>src/test/java</code>.</li>
+ <li>Hack away! Developers are encouraged to produce JUnit tests for new
+ implementation code.</li>
+ <li>To test the code you need to set-up a JUnit Run Configuration for the
+ unit test. You can either run a single test case, or run the
+ <code>AllTests</code> suite for all tests in a package or module.
+ For example, to run the test suite
+ <code>org.apache.harmony.tests.nio.AllTests</code> set up a
+ run configuration with the following characteristics:
+ <ul>
+ <li><em>bootclasspath</em>: the folder nio/bin/main, followed by
+ the Harmony JRE library.</li>
+ <li><em>classpath</em>: the folder nio/bin/test, followed by the
+ <code>JUNIT JAR</code> file.</li>
+ <br />
+ <img src="../images/dev_eclipse_runconf.jpg" alt="Java run configuration" />
+ <li><em>VM</em>: the Harmony JRE as the launching VM.</li>
+ </ul>
+ </li>
+ <li>If everything looks good, go ahead and
+ <a href="../get-involved.html#create_patch">contribute a patch</a>.</li>
+ </ol>
+ </p>
+
+ <p><a href="#top">Back to top</a></p>
+ <h1>
+ <a name="Class Library Development: Step-by-Step Guide">Class Library Development: Step-by-Step Guide</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
+ development, and launched Eclipse with the following commandline:
+ <pre>eclipse -vmargs -Dpde.jreProfile=none -Dpde.allowCycles=true</pre>
+ We <a href="dev_eclipse_movie.html">
+ pick up the story here...</a> (<em>Warning 8Mb flash download!</em>)
+ </p>
+ <p><a href="#top">Back to top</a></p>
+
+ </td>
</tr>
<!-- FOOTER -->
@@ -419,14 +437,17 @@
<hr noshade="" size="1"/>
</td></tr>
<tr><td colspan="2">
- <div align="center"><font color="#525D76" size="-1"><em>
+ <div class="special"><em>
Copyright © 2003-2006, The Apache Software Foundation
- </em></font></div>
+ </em></div>
</td></tr>
</table>
</body>
</html>
<!-- end the processing -->
+
+
+
Modified: harmony/standard/site/docs/subcomponents/classlibrary/index.html
URL: http://svn.apache.org/viewvc/harmony/standard/site/docs/subcomponents/classlibrary/index.html?view=diff&rev=483048&r1=483047&r2=483048
==============================================================================
--- harmony/standard/site/docs/subcomponents/classlibrary/index.html (original)
+++ harmony/standard/site/docs/subcomponents/classlibrary/index.html Wed Dec 6 04:12:45 2006
@@ -38,7 +38,9 @@
<title>Apache Harmony - Class Library</title>
- <link rel="Stylesheet" type="text/css" href="site.css"/>
+
+
+ <link rel="stylesheet" type="text/css" href="../../site.css"/>
</head>
<body>
@@ -224,8 +226,9 @@
</li>
- <li>
- <a href="dev_eclipse.html">Development with the Eclipse IDE</a>
+
+ <li>
+ <a href="../../documentation/dev_eclipse.html"> Development with the Eclipse IDE</a>
<br />
Describes how to set up Eclipse to develop the class library code.
@@ -348,6 +351,7 @@
</body>
</html>
<!-- end the processing -->
+
Added: harmony/standard/site/xdocs/documentation/dev_eclipse.xml
URL: http://svn.apache.org/viewvc/harmony/standard/site/xdocs/documentation/dev_eclipse.xml?view=auto&rev=483048
==============================================================================
--- harmony/standard/site/xdocs/documentation/dev_eclipse.xml (added)
+++ harmony/standard/site/xdocs/documentation/dev_eclipse.xml Wed Dec 6 04:12:45 2006
@@ -0,0 +1,235 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<document>
+
+ <properties>
+ <title>Apache Harmony Development Using Eclipse</title>
+ <author email="dev@harmony.apache.org">Harmony Documentation Team</author>
+ </properties>
+
+<body>
+ <section name="Introduction">
+ <p>
+ The current page provides instructions on how to set up Eclipse to develop Java code
+ in Apache Harmony, with sections for both DRLVM and class library development.
+ </p>
+ <p>
+ DRLVM specific instructions are only emerging, while class library specific
+ instructions are in two sets: the <a href="#fastpath">fast path</a>
+ for people familiar with Eclipse and the source code layout in Harmony's
+ Subversion repository; and the
+ <a href="#step_guide">step-by-step guide</a>
+ for novices who want to follow the details of a setup and see a brief
+ development example.
+ </p>
+ <p>
+ All instructions assume you satisfy the same Eclipse-based
+ development prerequsities, as described in the following section.
+ </p>
+ <subsection name="Prerequisites">
+ <p>
+ To develop Apache Harmony Java code with Eclipse JDT, you need:
+ </p>
+ <ol>
+ <li>
+ Eclipse: version 3.2 or later, from
+ <a href="http://download.eclipse.org">eclipse.org</a>
+ </li>
+ <li>
+ A Subversion plug-in: Either Subclipse from <a href="http://subclipse.tigris.org/">
+ tigris.org
+ </a> or Subversive from <a href="http://www.polarion.org">
+ polarion.org
+ </a>
+ </li>
+ </ol>
+ </subsection>
+ <subsection name="Getting the Code">
+ <p>
+ You will surely need the code to work with. <i>For class library development</i>,
+ you'll need a compatible VM: obtain a VM as
+ <a href="../subcomponents/classlibrary/build_classlib.html#Obtaining_a_VM">described here</a> capable
+ of running the class libary code, and install it in the same location as
+ the snapshot. You will also need the class libraries build if you want to work
+ on a particular module.
+ </p>
+ <p>Analogously, you'll need class libraries for <i>DRLVM development</i>.
+ Follow one of these ways depending on your needs:
+ </p>
+ <ul>
+ <li>
+ <b>Get pre-built snapshot</b> from the
+ <a href="http://people.apache.org/builds/harmony/snapshots/">download page</a>.
+ </li>
+ <li>
+ <b>Download source code</b> to be built manually. For that, create an SVN repository location
+ using the URL:
+ <pre>
+///for classlibraries
+https://svn.apache.org/repos/asf/harmony/enhanced/classlib
+
+///for DRLVM
+https://svn.apache.org/repos/asf/harmony/enhanced/drlvm</pre>
+ Check out the code from SVN selecting <b>Checkout...</b> from the context menu of <code>trunk</code>.
+ </li>
+ </ul>
+ </subsection>
+ </section>
+<section name="DRLVM Development">
+<a name="drlvm"/>
+ <p>For details on how to build DRLVM and other related documentation, please see
+ the <a href="../subcomponents/drlvm/index.html">DRLVM web pages</a>.
+ </p>
+</section>
+
+<section name="Class Library Development: Fast Path - for Experienced Eclipse developers">
+<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>
+
+<subsection name="Configuring Eclipse">
+ <p>
+ Ensure that you have <a href="#Prerequisites">the development prerequisites</a>
+ in place. Then if you are using Linux start Eclipse as normal with the arguments
+ <code>-vmargs -Dpde.jreProfile=none -Dpde.allowCycles=true</code> and skip to step 4. If
+ you are using Windows do the following:</p>
+ <ol>
+ <li>Copy the <code>vsvars32.bat</code> file from your Visual Studio install directory
+ to any convenient location. If you have chosen the defaults when installing, you
+ will find the given file in the <code>
+ C:\Program Files\Microsoft Visual Studio.NET 2003\Common7\Tools</code> directory.</li>
+ <li>Edit the <code>vsvars32.bat</code> file adding the following line right after the
+ last line beginning with <code>@set...</code>:
+ <pre>start C:\...\eclipse\eclipse.exe -vmargs -Xmx512M -Dpde.jreProfile=none -Dpde.allowCycles=true</pre>
+ In the line above, <code>"..."</code> is the path to your Eclipse installation directory.
+
+ <p class="note">Note</p>
+ <p class="notetext">Using <code>-vmargs -Xmx512M</code> is optional,
+ but helpful to stop Eclipse running out of memory.</p></li>
+ <li>To start Eclipse, double click on the <code>vsvars32.bat</code> file.
+ </li>
+
+ <li>
+ Configure the following settings in <b>Window</b> > <b>Preferences</b>:
+ </li>
+ <ul>
+ <li>Change the Java compiler settings:
+ <ol>
+ <li>In the <b>Java</b> > <b>Compiler</b> preferences ensure the
+ <b>Compiler compliance level</b> is set to
+ <b>1.4</b>.
+ </li>
+ <li>In the <b>Java</b> > <b>Compiler</b> > <b>Building</b> preferences,
+ open the <b>Build Path Problems</b> section
+ and change <b>Circular Dependencies</b> from
+ <b>Error</b> to <b>Warning</b>.
+
+ </li>
+ </ol></li>
+ <li>Change the PDE settings:
+ <ol>
+ <li>In the <b>Plug-in Development</b> > <b>Compilers</b> preferences
+ change <b>Unresolved Dependencies</b> from
+ <b>Error</b> to <b>Warning</b>.
+ </li>
+ <li>In the <b>Plug-in Development</b> > <b>Target Platform</b>
+ preferences, change the <b>Location</b> box to be the
+ <code>jre/lib/boot</code> directory of the classlib snapshot.</li>
+ </ol></li>
+ </ul>
+ <li>Copy the <code>ecj_3.2.jar</code> file into the
+ <code>...\eclipse\plugins\org.apache.ant_1.6.5\lib</code> directory.</li>
+ <li>To include the given file, configure the following Ant settings in
+ <b>Window</b> > <b>Preferences</b> > <b>Ant</b> > <b>Runtime</b>:
+ </li>
+ <ul>
+ <li>Select <b>Global Entries</b>
+ </li>
+ <li>Select <b>Add External Jars</b>
+ </li>
+ <li>Add the <code>ecj_3.2.jar</code> file from
+ the <code>org.apache.ant_1.6.5\lib</code> directory.
+ </li>
+ </ul>
+ </ol>
+
+
+</subsection>
+
+<subsection name="Developing and Testing Code">
+ <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>
+ 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>
+ <li>Go to the SVN repository view, open the Harmony URL and browse to
+ <code>trunk > modules</code>. Select
+ <code>nio</code> and from the context menu select
+ <b>Checkout...</b>, and on the checkout dialog box click <b>Finish</b>.</li>
+ <li>In the resulting project in your workspace the implementation code
+ is in the source folder <code>src/main/java</code> and the unit tests
+ are in the source folder <code>src/test/java</code>.</li>
+ <li>Hack away! Developers are encouraged to produce JUnit tests for new
+ implementation code.</li>
+ <li>To test the code you need to set-up a JUnit Run Configuration for the
+ unit test. You can either run a single test case, or run the
+ <code>AllTests</code> suite for all tests in a package or module.
+ For example, to run the test suite
+ <code>org.apache.harmony.tests.nio.AllTests</code> set up a
+ run configuration with the following characteristics:
+ <ul>
+ <li><em>bootclasspath</em>: the folder nio/bin/main, followed by
+ the Harmony JRE library.</li>
+ <li><em>classpath</em>: the folder nio/bin/test, followed by the
+ <code>JUNIT JAR</code> file.</li>
+ <br/>
+ <img src="../images/dev_eclipse_runconf.jpg" alt="Java run configuration"/>
+ <li><em>VM</em>: the Harmony JRE as the launching VM.</li>
+ </ul>
+ </li>
+ <li>If everything looks good, go ahead and
+ <a href="../get-involved.html#create_patch">contribute a patch</a>.</li>
+ </ol>
+ </p>
+</subsection>
+</section>
+
+<section name="Class Library Development: Step-by-Step Guide">
+<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
+ development, and launched Eclipse with the following commandline:
+ <pre>eclipse -vmargs -Dpde.jreProfile=none -Dpde.allowCycles=true</pre>
+ We <a href="dev_eclipse_movie.html">
+ pick up the story here...</a> (<em>Warning 8Mb flash download!</em>)
+ </p>
+</section>
+
+</body>
+</document>
Added: harmony/standard/site/xdocs/documentation/dev_eclipse_movie.html
URL: http://svn.apache.org/viewvc/harmony/standard/site/xdocs/documentation/dev_eclipse_movie.html?view=auto&rev=483048
==============================================================================
--- harmony/standard/site/xdocs/documentation/dev_eclipse_movie.html (added)
+++ harmony/standard/site/xdocs/documentation/dev_eclipse_movie.html Wed Dec 6 04:12:45 2006
@@ -0,0 +1,69 @@
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<html>
+<body>
+ <!-- START lines taken from a generated page to ge the header logos -->
+ <table border="0" width="100%" cellspacing="0">
+ <!-- TOP IMAGE -->
+ <tr>
+ <td align='LEFT'>
+ <table><tr><td>
+ <td align="left">
+<a href="http://harmony.apache.org/"><img src="../../images/harmony-logo.png" alt="Apache Harmony" border="0"/></a>
+</td>
+</td>
+ </td></tr></table>
+ </td>
+ <td align='RIGHT'>
+ </td>
+ </tr>
+ </table>
+ <!-- END lines taken from a generated page to ge the header logos -->
+
+<hr/>
+<p/>
+<center>
+ <h2>Eclipse-based development : The Movie</h2>
+
+ <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
+ width="994"
+ height="755"
+ codebase="http://active.macromedia.com/flash5/cabs/swflash.cab#version=5,0,0,0">
+
+ <param name=movie value="../../images/eclipse_movie.swf">
+ <param name=play value=true>
+ <param name=loop value=false>
+ <param name=quality value=low>
+
+ <embed src="../../images/eclipse_movie.swf"
+ width=994
+ height=755
+ quality=low
+ loop=false
+ type="application/x-shockwave-flash"
+ pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
+ </embed>
+ </object>
+</center>
+<hr/>
+<p>
+ After watching the movie return to <a href="dev_eclipse.html">the Eclipse-based development page</a>.
+</p>
+</body>
+</html>
Modified: harmony/standard/site/xdocs/subcomponents/classlibrary/index.xml
URL: http://svn.apache.org/viewvc/harmony/standard/site/xdocs/subcomponents/classlibrary/index.xml?view=diff&rev=483048&r1=483047&r2=483048
==============================================================================
--- harmony/standard/site/xdocs/subcomponents/classlibrary/index.xml (original)
+++ harmony/standard/site/xdocs/subcomponents/classlibrary/index.xml Wed Dec 6 04:12:45 2006
@@ -42,8 +42,9 @@
</li>
- <li>
- <a href="dev_eclipse.html">Development with the Eclipse IDE</a>
+
+ <li>
+ <a href="../../documentation/dev_eclipse.html"> Development with the Eclipse IDE</a>
<br />
Describes how to set up Eclipse to develop the class library code.