You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by te...@apache.org on 2006/02/06 16:51:09 UTC
svn commit: r375302 [2/2] - in /incubator/harmony/standard/site: docs/
docs/documentation/ docs/images/ docs/subcomponents/classlibrary/ xdocs/
xdocs/documentation/ xdocs/images/ xdocs/subcomponents/classlibrary/
Added: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/dev_eclipse.xml
URL: http://svn.apache.org/viewcvs/incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/dev_eclipse.xml?rev=375302&view=auto
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/dev_eclipse.xml (added)
+++ incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/dev_eclipse.xml Mon Feb 6 07:51:07 2006
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+ Copyright 2006 The Apache Software Foundation
+
+ Licensed 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="harmony-dev@incubator.apache.org">Harmony Documentation Team</author>
+ </properties>
+
+<body>
+<section name="Introduction">
+ <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>
+
+ <subsection name="Am I eligible?">
+ <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>
+ </subsection>
+</section>
+
+<section name="Prerequisites for developing Apache Harmony class library code with Eclipse">
+<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>
+</section>
+
+<section name="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 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>
+</subsection>
+
+<subsection name="Develop and test 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
+ <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>
+</subsection>
+</section>
+
+<section name="Step-by-step guide to Eclipse-based development">
+<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>
+</section>
+
+</body>
+</document>
\ No newline at end of file
Added: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/dev_eclipse_movie.html
URL: http://svn.apache.org/viewcvs/incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/dev_eclipse_movie.html?rev=375302&view=auto
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/dev_eclipse_movie.html (added)
+++ incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/dev_eclipse_movie.html Mon Feb 6 07:51:07 2006
@@ -0,0 +1,71 @@
+<!--
+
+ Copyright 2006 The Apache Software Foundation
+
+ Licensed 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://incubator.apache.org/harmony/"><img src="../../images/harmony-logo.png" alt="Apache Harmony" border="0"/></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>
+ </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: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/index.xml
URL: http://svn.apache.org/viewcvs/incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/index.xml?rev=375302&r1=375301&r2=375302&view=diff
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/index.xml (original)
+++ incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/index.xml Mon Feb 6 07:51:07 2006
@@ -19,23 +19,33 @@
<document>
- <properties>
- <title>Apache Harmony</title>
- <author email="harmony-dev@incubator.apache.org">Harmony Documentation Team</author>
- </properties>
+<properties>
+ <title>Apache Harmony</title>
+ <author email="harmony-dev@incubator.apache.org">Harmony Documentation Team</author>
+</properties>
- <body>
+<body>
<section name="Apache Harmony Class Library">
-<p>
-Lets talk about the class library
-</p>
- </section>
-
- </body>
- </document>
-
-
-
-
+ <p>
+ The following documentation links are specific to the class library effort underway at Apache Harmony.
+ </p>
+
+ <ul>
+ <li><a href="build_classlib.html">Building the Classlibrary Code</a>
+ <p>
+ Describes how to download and build the class library code from source.
+ </p>
+ </li>
+ <br/>
+ <li><a href="dev_eclipse.html">Development with the Eclipse IDE</a>
+ <p>
+ Describes how to set up Eclipse to develop the class library code.
+ </p>
+ </li>
+ <br/>
+ </ul>
+</section>
+</body>
+</document>