Difference between revisions of "Common Build Infrastructure/Migration to Ant"
(→Project Configuration) |
|||
Line 7: | Line 7: | ||
1. Update your build.xml to the latest template version | 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 | + | 2. Replace custom values in build.properties with generic ones which will work in both Eclipse or in Jenkins |
{| border="1" cellpadding="3" cellspacing="1" | {| border="1" cellpadding="3" cellspacing="1" | ||
Line 36: | Line 36: | ||
JAVA60_HOME=/opt/public/common/ibm-java2-ppc-50 | JAVA60_HOME=/opt/public/common/ibm-java2-ppc-50 | ||
| rowspan="1" | | | rowspan="1" | | ||
− | Now you can still hardcode values, or use the defaults from Eclipse or | + | Now you can still hardcode values, or use the defaults from Eclipse or Jenkins. |
JAVA14_HOME=${JAVA_HOME} | JAVA14_HOME=${JAVA_HOME} | ||
JAVA50_HOME=${JAVA_HOME} | JAVA50_HOME=${JAVA_HOME} | ||
Line 68: | Line 68: | ||
Remove the values set in build.properties, as they are now computed and should not be needed. | Remove the values set in build.properties, as they are now computed and should not be needed. | ||
− | 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 | + | 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 Jenkins! |
<property name="localSourceCheckoutDir" value="${basedir}/.." /> | <property name="localSourceCheckoutDir" value="${basedir}/.." /> | ||
<property name="relengBuilderDir" value="${basedir}" /> | <property name="relengBuilderDir" value="${basedir}" /> | ||
Line 76: | Line 76: | ||
|} | |} | ||
− | == | + | == Jenkins Job Configuration == |
{| border="1" cellpadding="3" cellspacing="1" | {| border="1" cellpadding="3" cellspacing="1" | ||
Line 116: | Line 116: | ||
[[Category:Athena Common Build]] | [[Category:Athena Common Build]] | ||
− | |||
[[Category:Releng]] | [[Category:Releng]] | ||
[[Category:Draft_Documentation]] | [[Category:Draft_Documentation]] |
Latest revision as of 06:49, 20 August 2020
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 Jenkins
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 Jenkins. 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 |
Remove the values set in build.properties, as they are now computed and should not be needed. 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 Jenkins! <property name="localSourceCheckoutDir" value="${basedir}/.." /> <property name="relengBuilderDir" value="${basedir}" /> or <property name="localSourceCheckoutDir" value="/path/to/dir/A /> <property name="relengBuilderDir" value="/path/to/dir/B" /> |
Jenkins Job Configuration
Old Configuration | New Configuration |
---|---|
|
|
|
relengBaseBuilderDir=/opt/public/cbi/build/org.eclipse.releng.basebuilder relengCommonBuilderDir=/opt/public/cbi/build/org.eclipse.dash.common.releng #SNAPSHOT="true" |
|
|