Index: dev_eclipse.xml =================================================================== --- dev_eclipse.xml (revision 480889) +++ dev_eclipse.xml (working copy) @@ -21,57 +21,46 @@ - Apache Harmony development using Eclipse + Apache Harmony Development Using Eclipse Harmony Documentation Team

- These instructions will help you set up Eclipse to develop Java code + The current page provides instructions on how to set up Eclipse to develop Java code in Apache Harmony.

- There are two sets of instructions -- the fast path - for people who are - already familiar with Eclipse and the source code layout in Harmony's + You can find the class library instructions in two sets: the fast path + for people familiar with Eclipse and the source code layout in Harmony's Subversion repository; and the step-by-step guide - for people who want to follow the details of a set-up, and see a brief + for novices who want to follow the details of a setup and see a brief development example.

- Both sets of instructions assume you satisfy the same Eclipse-based + All instructions assume you satisfy the same Eclipse-based development prerequsities.

- -

- 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 - Apache Harmony contribution policy. -

-
-
+

- To develop the class library Java code with Eclipse JDT you will need: + To develop Apache Harmony Java code with Eclipse JDT, you need:

    -
  1. Eclipse : version 3.2 integration build I20060119 or later, from +
  2. Eclipse: version 3.2 or later, from eclipse.org
  3. -
  4. Subclipse : Subversion plug-in from - tigris.org
  5. +
  6. A Subversion plug-in : Either Subclipse from + tigris.org or Subversive from + polarion.org
  7. a snapshot classlib build : from the download page. If you prefer to build a snapshot yourself the instructions are here.
  8. -
  9. a compatible VM : obtain a VM as +
  10. (For class library development only) a compatible VM : obtain a VM as described here capable of running the class libary code, and install it in the same location as the snapshot.
  11. @@ -79,7 +68,22 @@

-
+
+ +

+ Ensure that you have the development prerequisites + in place, then:

+
  • Create a SVN repository location to the Harmony drlvm directory, using URL: + https://svn.apache.org/repos/asf/harmony/enhanced/drlvm
  • +
  • Check out DRLVM from SVN selecting Checkout... from the context menu of trunk.
  • +
+ +

For details on how to build DRLVM and other related documentation, please see + the DRLVM web pages. +

+
+ +

If you know your way around Eclipse JDT, then following these steps will @@ -88,58 +92,93 @@

- Ensure that you have the development pre-requisites - in place, then: + Ensure that you have the development prerequisites + in place. Then if you are using Linux start Eclipse as normal with the arguments -vmargs -Dpde.jreProfile=none -Dpde.allowCycles=true and skip to step 4. If + you are using Windows do the following:

    -
  1. Launch Eclipse with the VM argument "-Dpde.jreProfile=none" - (i.e. eclipse -vmargs -Dpde.jreProfile=none).
  2. -
  3. Configure the following settings in Window > Preferences... +
  4. Copy the vsvars32.bat 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 + C:\Program Files\Microsoft Visual Studio.NET 2003\Common7\Tools directory.
  5. +
  6. Edit the vsvars32.bat file adding the following line right after the + last line beginning with @set...: +
    start C:\...\eclipse\eclipse.exe -vmargs -Xmx512M -Dpde.jreProfile=none -Dpde.allowCycles=true
    + In the line above, "..." is the path to your Eclipse installation directory. + +

    Note

    +

    Using -vmargs -Xmx512M is optional, + but helpful to stop Eclipse running out of memory.

  7. +
  8. To start Eclipse, double click on the vsvars32.bat file. +
  9. + +
  10. + Configure the following settings in Window > Preferences: +
    • -
    • Change the Java compiler settings +
    • Change the Java compiler settings:
        -
      1. In the Java > Compiler preferences ensure the - "Compiler compliance level" is set to - 1.4.
      2. -
      3. In the Java > Compiler > Building preferences, - open the "Build Path Problems" section - and change "Circular Dependencies" from - Error to Warning.
      4. +
      5. In the Java > Compiler preferences ensure the + Compiler compliance level is set to + 1.4. +
      6. +
      7. In the Java > Compiler > Building preferences, + open the Build Path Problems section + and change Circular Dependencies from + Error to Warning. + +
    • -
    • Change the PDE settings +
    • Change the PDE settings:
        -
      1. In the Plug-in Development > Compilers preferences - change "Unresolved Dependencies" from - Error to Warning.
      2. -
      3. In the Plug-in Development > Target Platform - preferences, change the "Location:" box to be the +
      4. In the Plug-in Development > Compilers preferences + change Unresolved Dependencies from + Error to Warning. +
      5. +
      6. In the Plug-in Development > Target Platform + preferences, change the Location box to be the jre/lib/boot directory of the classlib snapshot.
    • -
    -
  11. Create a SVN repository location to the Harmony classlib, using URL + +
  12. Create a SVN repository location to the Harmony classlib, using URL: https://svn.apache.org/repos/asf/harmony/enhanced/classlib
  13. -
-

+
  • Check out Harmony from SVN selecting Checkout... from the context menu.
  • +
  • Copy the ecj_3.2.jar file into the + ...\eclipse\plugins\org.apache.ant_1.6.5\lib directory.
  • +
  • To include the given file, configure the following Ant settings in + Window > Preferences > Ant > Runtime: +
  • +
      +
    • Select Global Entries +
    • +
    • Select Add External Jars +
    • +
    • Add the ecj_3.2.jar file from + the org.apache.ant_1.6.5\lib directory. +
    • +
    + + + - +

    The Apache Harmony class library is structured to allow developers to work on individual modules in the class library without having to load and compile the entire project source tree.

    - This is best illustrated by a worked example. In this example, assume you want to make - a change to the NIO module. This is how you would proceed: + This is best illustrated by a worked example. In this example, assume you want to make + a change to the NIO module. This is how you would proceed:

    1. Go to the SVN repository view, open the Harmony URL and browse to - "trunk > modules". Select - "nio" and from the context menu select - Checkout..., and on the checkout dialog just - click "Finish"
    2. + trunk > modules. Select + nio and from the context menu select + Checkout..., and on the checkout dialog box click Finish.
    3. In the resulting project in your workspace the implementation code is in the source folder src/main/java and the unit tests are in the source folder src/test/java.
    4. -
    5. Hack away! Developers are encouraged to produce JUnit tests for new +
    6. Hack away! Developers are encouraged to produce JUnit tests for new implementation code.
    7. 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 @@ -148,13 +187,13 @@ org.apache.harmony.tests.nio.AllTests set up a run configuration with the following characteristics:
        -
      • bootclasspath : the folder nio/bin/main, followed by +
      • bootclasspath: the folder nio/bin/main, followed by the Harmony JRE library.
      • -
      • classpath : the folder nio/bin/test, followed by the - JUNIT JAR file.
      • +
      • classpath: the folder nio/bin/test, followed by the + JUNIT JAR file.

      • Java run configuration -
      • VM : the Harmony JRE as the launching VM.
      • +
      • VM: the Harmony JRE as the launching VM.
    8. If everything looks good, go ahead and @@ -164,17 +203,17 @@
    -
    +

    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: -

    eclipse -vmargs -Dpde.jreProfile=none
    +
    eclipse -vmargs -Dpde.jreProfile=none -Dpde.allowCycles=true
    We
    pick up the story here... (Warning 8Mb flash download!)

    - \ No newline at end of file +