Jump to: navigation, search

Difference between revisions of "Common Build Infrastructure/Migration to Ant"

(Project Configuration)
Line 32: Line 32:
 
  dependencyURLs=http://.../eclipse-SDK-3.5.1-win32.zip
 
  dependencyURLs=http://.../eclipse-SDK-3.5.1-win32.zip
 
| rowspan="1" |  
 
| rowspan="1" |  
Now, depend on an update site and properties will work on all supported platforms.
+
Now, depend on an [http://download.eclipse.org/athena/repos/ update site] and properties will work on all supported platforms.
  repositoryURLs=\
+
  repositoryURLs=http://.../eclipse-Update-3.5.2-201002111343.zip
http://download.eclipse.org/athena/repos/eclipse-Update-3.5.2-201002111343.zip
+
 
  IUsToInstall=org.eclipse.sdk.feature.group
 
  IUsToInstall=org.eclipse.sdk.feature.group
 
or
 
or

Revision as of 08:41, 28 March 2010

Warning2.png
Draft Content
This page is currently under construction. Community members are encouraged to maintain the page, and make sure the information is accurate.


There are two steps to migrate from bash to ant: project configuration and job configuration. In both cases the net effect is simplification and better ease of use.

Project Configuration

1. Update your build.xml to the latest template version

2. Replace custom values in build.properties with generic ones which will work in both Eclipse or in Hudson

Project Configuration
Old Configuration New Configuration

Before, you needed one configuration file per platform.

JAVA_HOME=/opt/public/common/ibm-java2-ppc-50
JAVA14_HOME=/opt/public/common/ibm-java2-ppc-50
JAVA50_HOME=/opt/public/common/ibm-java2-ppc-50
JAVA60_HOME=/opt/public/common/ibm-java2-ppc-50

Now you can still hardcode values, or use the defaults from Eclipse or Hudson.

JAVA14_HOME=${JAVA_HOME}
JAVA50_HOME=${JAVA_HOME}
JAVA60_HOME=${JAVA_HOME}

Before, you needed one configuration file per platform because you depend on a given Eclipse SDK.

dependencyURLs=http://.../eclipse-SDK-3.5.1-linux-gtk-ppc.tar.gz

or

dependencyURLs=http://.../eclipse-SDK-3.5.1-win32.zip

Now, depend on an update site and properties will work on all supported platforms.

repositoryURLs=http://.../eclipse-Update-3.5.2-201002111343.zip
IUsToInstall=org.eclipse.sdk.feature.group

or

repositoryURLs=http://download.eclipse.org/releases/helios/
IUsToInstall=org.eclipse.sdk.feature.group

Before, because you needed have one properties file per platform, you could set these in build.properties:

localSourceCheckoutDir=C:/workspace/org.eclipse.gef.tree
localSourceCheckoutDirExcludes=**/archive/**
# For windows, must be explicit about paths using correct 
# slashes (/); dirs with spaces should be avoided
relengBuilderDir=C:/workspace/org.eclipse.gef.releng
relengBaseBuilderDir=C:/workspace/org.eclipse.releng.basebuilder
relengCommonBuilderDir=C:/workspace/org.eclipse.dash.common.releng
writableBuildRoot=C:/tmp/build

Now, set this in an optional build.local.xml file so it won't conflict with the server's "build from maps" version. This additional step is only needed if building from local sources; otherwise build.xml will work without modification on local or in Hudson!

<property name="localSourceCheckoutDir" value="${basedir}/.." />
<property name="relengBuilderDir" value="${basedir}" />

or

<property name="localSourceCheckoutDir" value="/hardcoded/path/on/your/system" />
<property name="relengBuilderDir" value="/hardcoded/path/on/your/system/too" />

Hudson Job Configuration

Migration To Ant Job
Old Configuration New Configuration
JAVA_HOME=/opt/public/common/ibm-java2-ppc-50
JAVA14_HOME=/opt/public/common/ibm-java2-ppc-50
JAVA50_HOME=/opt/public/common/ibm-java2-ppc-50
JAVA60_HOME=/opt/public/common/ibm-java2-ppc-50
JAVA14_HOME=${JAVA_HOME}
JAVA50_HOME=${JAVA_HOME}
JAVA60_HOME=${JAVA_HOME}

...

...

...

...

  • link to archived config.xml file for bash
  • link to archived config.xml file for ant