Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Platform-releng-sourcebuild35

Revision as of 17:09, 13 August 2009 by Kmoir.ca.ibm.com (Talk | contribs)

Running Eclipse Source builds for 3.5 (Source from CVS)

What is an Eclipse Source Build?

Eclipse source builds provide developers with an automated method for checking out source code and other required resources, compiling the Java code, generating javadoc, and finally, creating a zip file of an Eclipse runtime from a downloaded source tree. The end result of a source build is a runnable Eclipse.

Getting the Source

A source build download contains shell and ant scripts that fetch and build a particular version of Eclipse. Although you can manually edit build.xml files in each feature and plug-in, they are typically generated by the Eclipse pde-build plug-in. As a result you will need to download a fresh source build zip file when major changes occur to Eclipse source, such as the addition or removal of plug-ins. The version of Eclipse a particular source build will create is embedded in the source build zip file name. For example, eclipse-sourceBuild-I20090624.zip builds Eclipse from integration build 20090624.

Building Eclipse using Ant and a JDK

System Requirements

  1. Ant 1.7.1 or higher
  2. 1.4, 1.5 and 1.6 JDKs
  3. CDC 1.0 and CDC 1.1 foundation class libraries
  4. Info-Zip zip and unzip executables on system path. Tar for *nix distributions
  5. CVS 1.10 or higher
  6. 1 GB free disk space
  7. Source build zip from eclipse.org
  8. An Eclipse SDK build zip that matches that platform and buildId of the platform you're attempting to build. For instance, if you're building I20090611-1540 for linux.gtk.x86, you should download eclipse-SDK-I20090611-1540-linux-gtk.tar.gz to compile the build. You will use these bundles to compile a new SDK from source. Confusing, huh?

Initial Setup

Install Ant, 1.7 JDKs, and a CVS client, as per each program's instructions. Minimally you will need the following environment variables set.

  1. Add the Ant bin directory, and the CVS executable to your path.
  2. Set the JAVA_HOME environment variable to the root of your 1.6 JDK installation.
  3. Set the ANT_HOME environment variable to the root of your Ant installation.
  4. If you are fetching the source from CVS, export the CVS_RSH=ssh

Run the Build

  1. Extract the eclipse-sourceBuild-*.zip to a directory. Extract using tar if using a *nix drop.
  2. Put the eclipse-SDK-your-platform.[zip|tar.gz] in the same directory where you extracted the source build.
  3. Update the org.eclipse.releng.eclipsebuilder/eclipse/buildConfigs/sdk/srcBuild/build.properties file included to point to the bootstrap classpath of your 1.4, 1.5, and 1.6 JDK locations. You'll also have to update it to include the location of your CDC 1.0 and CDC 1.1 foundation class libraries. If you don't have access to the CDC libraries, you can update the properties file to point to the 1.5 vm for the CDC variables.

  4. Here's an example of an updated build.properties file

    J2SE-1.5=/home/userid/jdk/win32_15/jdk1.5.0_14/jre/lib/rt.jar:/home/userid/jdk/win32_15/jdk1.5.0_14/jre/lib/jsse.jar:/home/userid/jdk/win32_15/jdk1.5.0_14/jre/lib/jce.jar
    J2SE-1.4=/home/userid/jdk/win32/jdk1.4.2_16/jre/lib/rt.jar:/home/userid/jdk/win32/jdk1.4.2_16/jre/lib/jsse.jar:/home/userid/jdk/win32/jdk1.4.2_16/jre/lib/jce.jar
    CDC-1.0/Foundation-1.0=/home/userid/jdk/win32_foundation/lib/jclFoundation10/classes.zip
    CDC-1.1/Foundation-1.1=/home/userid/jdk/win32_foundation11/lib/jclFoundation11/classes.zip
    OSGi/Minimum-1.2=/home/userid/jdk/win32_foundation11/lib/jclFoundation11/classes.zip
    JavaSE-1.6=/home/userid/jdk/win32_16/jdk6_04/jre/lib/rt.jar:/home/userid/jdk/win32_16/jdk6_04/jre/lib/jsse.jar:/home/userid/jdk/win32_16/jdk6_04/jre/lib/jce.jar
    java15-home=/home/userid/jdk/linux/jdk1.5.0_14/jre
    mapVersionTag=R3_5
    

    note: MapVersionTag is only required if you want to checkout a specific version that relates to a build. For instance, if you wanted to recreate the integration build from I20090811-0800, you could set the mapVersionTag=I20090811-0800 when running a the source fetch build.


  5. If running the sourceFetch build, cd to the buildScripts directory.
  6. Execute build -os <osType> -ws <windowSystemType> -arch <architecture> [-bc <bootclasspath>]


     </tr>	          
Parameter NameDescription
osTypeTarget operating system. See supported types.
windowSystemTypeTarget windowing system. See supported types.
architectureTarget system architecture. See supported types.
bootclasspath (optional)The default list of bootclasspath jars to compile against using either a colon or semi-colon as separators. The jars that make up a bootclasspath are part of any JDK or JRE. Typically this parameter is only specified if you are cross compiling Eclipse. The default is set to the jars in the JDK or JRE in JAVA_HOME.

Install Eclipse

When the Eclipse build is complete, there will be a zip file called

<osType>-<windowSystemType>-<architecture>-sdk.zip

in the results subdirectory of your build directory. If you are building for Linux or Mac, there will be a tar.gz file.

Extract this file to the directory where you would like to run Eclipse. If you extract it to your root directory, a directory called eclipse will be created. <p> <p>Run Eclipse with the desired command line parameters.

Supported Platforms

Eclipse can be built on any of the following platforms. With some limitations any platform can be used to build Eclipse for any or all supported platforms. To see the latest information on the platforms supported for a given release, refer to the latest Eclipse Project Plan.

Operating System (os) Windowing System (ws) Architecture
win32 win32 x86
win32 wpf x86
linux gtk x86
linux gtk x86_64
linux gtk ppc
macosx carbon ppc
macosx cocoa x86
macosx cocoa x86_64
aix motif ppc
solaris gtk sparc
linux gtk s390
linux gtk s390x

Known Limitations

  1. Building unix flavours of Eclipse on Windows will result in incorrect file permissions. The *.so, *.sl, and Eclipse executable files will not have execute permissions. In addition, linux-motif and linux-gtk builds will not have soft links to libXm.so.2.1 in the installation root directory. In these cases you would have to write an install or post install script to set permissions properly. (UNIX builds built on UNIX systems will set sufficient permissions and make the appropriate soft links).
  2. Only Java source code is compiled. *.dll, *so, *sl and Eclipse executables are all checked out of dev.eclipse.org and prebuilt in this build process. The instructions on recompiling the eclipse executable and recompling swt libraries available in the SWT FAQ are also a useful reference. This document also includes a list of the prerequisites for running SWT on Linux GTK
  3. For the platforms where JDK 1.6 support is not yet available e.g linux-gtk-s390, linux-gtk-s390x the Eclipse SDK can be built with JDK 1.5 in place JDK 1.6. To do that, please follow the following steps:

    • Edit

      the file build.xml: replacing the tags <property name="javacSource" value="1.6"> with <property name="javacSource" value="1.5"> and <property name="javacTarget" value="1.6"> with <property

      name="javacTarget" value="1.5">
    • Remove code which compile

      and package the plugins that require JDK 1.6 currently: org.eclipse.jdt.compiler.tool, org.eclipse.jdt.compiler.apt and org.eclipse.jdt.apt.pluggable.core from the files features/org.eclipse.jdt/feature.xml and

      features/org.eclipse.jdt/feature.xml.
    • <property name="javacSource" value="1.4">

Back to the top