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

Difference between revisions of "Corona/Releng/Build"

< Corona‎ | Releng
(Steps required for setting headless build platform)
(Steps required for setting headless build platform)
Line 26: Line 26:
 
== Steps required for setting headless build platform ==
 
== Steps required for setting headless build platform ==
 
Let the directory, in which the build is run, be "build". org.eclipse.releng.basebuilder should be installed in "build/..".
 
Let the directory, in which the build is run, be "build". org.eclipse.releng.basebuilder should be installed in "build/..".
The following properties should be set in build.properties file:
+
The following configuration should be made:
 +
# Change build.properties file
 
* baseLocation - the directory in which eclipse-SDK is installed
 
* baseLocation - the directory in which eclipse-SDK is installed
 
* base - the directory baseLocation/..
 
* base - the directory baseLocation/..
 +
# Prepare build/../download directory. It should contain all 3rd party libraries in the following configuration: for each plugin requiring the libraries, there should be a directory named: "pluginname"/lib containing the jar files.
  
The build/../download should contain all 3rd party libraries in the following configuration: for each plugin requiring the libraries, there should be a directory named: "pluginname"/lib containing the jar files.
+
# In order to run automated tests, copy zips of the following plugins into build directory:
  
In order to run automated tests, it is required to:
 
* copy zips of the following plugins into build directory:
 
 
ecf, eclipse-SDK, eclipse-test-framework, emf-sdo-xsd-SDK
 
ecf, eclipse-SDK, eclipse-test-framework, emf-sdo-xsd-SDK
  
 
Additionally, it is required to have equinox.log and equinox.event jars and apache.xerces packed into a zip containing eclipse/plugins sudirectory.
 
Additionally, it is required to have equinox.log and equinox.event jars and apache.xerces packed into a zip containing eclipse/plugins sudirectory.
 
  
 
#set JAVA_HOME to point at the JDK installation
 
#set JAVA_HOME to point at the JDK installation
#<div id="eclipseDir">set eclipseDir to point at the Eclipse installation to be used for the build</div>
 
#set buildType to receive server or/and client Corona distribution, supported values for this property: client, server, full
 
*execute the buildCorona.bat/buildCorona.sh file to build Corona project.
 
  
 
=== Execution of Build Scripts ===
 
=== Execution of Build Scripts ===

Revision as of 10:30, 18 October 2006

Eclipse Home Wiki Home Development

Installation and Configuration of Automated Build Process for Corona

The document describes how to configure and run automated builds of Corona project. The description is intended for Linux platform.

Build prerequisities

For headless build the infrastructure provided by the PDE and the RelEng (Release Engineering) plugins is needed. To set up the build environment it is required to have:

  • Java5 visible in PATH
  • cvs, zip and unzip visible in PATH
  • standalone package org.eclipse.releng.basebuilder (the newest version)
  • Eclipse IDE with the following non-standard plugins:
    • org.apache.xerces
    • org.eclipse.ecf
    • org.eclipse.emf
    • org.eclipse.equinox.log
    • org.eclipse.equinox.event
    • org.eclipse.wtp

Steps required for setting headless build platform

Let the directory, in which the build is run, be "build". org.eclipse.releng.basebuilder should be installed in "build/..". The following configuration should be made:

  1. Change build.properties file
  • baseLocation - the directory in which eclipse-SDK is installed
  • base - the directory baseLocation/..
  1. Prepare build/../download directory. It should contain all 3rd party libraries in the following configuration: for each plugin requiring the libraries, there should be a directory named: "pluginname"/lib containing the jar files.
  1. In order to run automated tests, copy zips of the following plugins into build directory:

ecf, eclipse-SDK, eclipse-test-framework, emf-sdo-xsd-SDK

Additionally, it is required to have equinox.log and equinox.event jars and apache.xerces packed into a zip containing eclipse/plugins sudirectory.

  1. set JAVA_HOME to point at the JDK installation

Execution of Build Scripts

The main build script is:

  • buildAll.sh X - X denotes the type of build, that is X = M, I, N, S, runs the build, tests, generates html data and published build results
  • buildFeed.sh - generates and published RSS Feed

Operations Done During Build Phases


Execution of buildCorona script comprises:

  • cleaning previous build output
  • fetching build scripts and properties required by the build process such as:
  1. run.bat/run.sh - scripts starting an Eclipse instance as AntRunner
  2. buildCorona.xml - build script file controling the build sequence
  3. customTargets.xml - build script file enabling customization of the build process, defines the map files to be fetched and the features to be built
  4. build.properties - contains the properties needed for fetching and building the sources
  • executing run.bat/run.sh script

Build Corona Documentation Plugin

To build corona with documentation plugin, following prerequisites are needed.

  • Linux machine.
  • Installed ANT.
  • JAVA_HOME environment variable pointing to Java home directory.
  • ANT_HOME envitonment variable pointing to ANT home directory.
  • Set withJavaDoc property in build.properties file, as follows
 # Default for java doc generation.
 withJavaDoc=true

JavaDoc generation

Corona's JavaDoc will always be generated and integrated within documentation plugin. If you'd like to generate javadoc without documentation plugin, following prerequisites has to be set.

  • LINUX
    • Installed ANT.
    • JAVA_HOME environment variable pointing to Java home directory.
    • ANT_HOME envitonment variable pointing to ANT home directory.
    • Documentation plugin should be on the same level as other corona's plugins

To start generation run script antJavadoc.sh located in org.eclipse.corona.doc\build.

  • WINDOWS
    • Installed cygwin.
    • JAVA_HOME environment variable pointing to Java home directory.
    • ANT_HOME envitonment variable pointing to ANT home directory.
    • Documentation plugin should be on the same level as other corona's plugins

To start generation run under cygwin script antJavadoc.sh located in org.eclipse.corona.doc\build.

Results of successful build process

${buildDirectory}/buildResults directory (buildResults name is a value of buildLabel property defined inside the build.properties) contains zip archive(s) with corona distribution. For 'buildType=full' two archives are created: org.eclipse.corona.client-DEMO.zip and org.eclipse.corona.server-DEMO.zip (DEMO name is a value of buildId property defined inside the build.properties).

Stages of build process

  • preBuild - fetching and concatenating map files (in corona.map dynamic setting of cvs tag name is made on the basis of fetchTag property value defined inside build.properties)
  • fetch - retrieving project resources on the basis of the map files definition
  • generate - generating build scripts for fetched resources
  • process - compiling sources, coping results to build output directory or creating jar files containing the build output
  • assemble - creating zip archive containg all build results

Useful links concerning eclipse build process

Back to the top