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 "XQuery Development Tools/Build"

(Builds)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
=Introduction=
 
=Introduction=
Currently builds are conducted using the [[Athena_Common_Build]] infrastructure and the [https://build.eclipse.org/hudson Hudson] build server.
+
Currently builds are conducted using the [[Athena_Common_Build]] infrastructure and the [https://hudson.eclipse.org/hudson/ Hudson] build server.
  
 
=Builds=
 
=Builds=
Line 6: Line 6:
 
Information about running builds and various configuration options.
 
Information about running builds and various configuration options.
  
* [https://build.eclipse.org/hudson/view/WTP/job/cbi-wtp-xquery/ Latest XQDT Builds] - note these are not official release builds but for developers and early adopters.  They may be unstable.
+
* [https://hudson.eclipse.org/hudson/job/cbi-wtp-inc-xquery/ Latest XQDT Builds] - note these are not official release builds but for developers and early adopters.  They may be unstable.
  
  
Line 12: Line 12:
  
 
Since currently there are no unit tests the XQuery builds are just building the code and producing the necessary ZIP and P2 Update Zip archives.  The build that is on Hudson is using that Athena_Common_Build set of ant scripts.  This allows for a easy configuration of an eclipse feature based build, it does NOT currently work with a product based build.
 
Since currently there are no unit tests the XQuery builds are just building the code and producing the necessary ZIP and P2 Update Zip archives.  The build that is on Hudson is using that Athena_Common_Build set of ant scripts.  This allows for a easy configuration of an eclipse feature based build, it does NOT currently work with a product based build.
 +
 +
===Releng Build Script===
 +
 +
The XQDT project does not use the standard shell script on the build server to execute the build.  Instead it uses the same ANT script that is suggested by the Athena Documentation to run Eclipse Headless builds from the workspace.  This has a couple of advantages:
 +
 +
# The same script it used by both developers and the build machine.
 +
# ANT is platform independent, this means that multiple build scripts do not need to be maintained.
 +
 +
The latest version of the [http://dev.eclipse.org/viewcvs/index.cgi/incubator/sourceediting/development/org.eclipse.wst.xquery.releng/build.xml?root=WebTools_Project&view=markup Ant script] can be found in the releng project.
  
 
===Build Properties===
 
===Build Properties===
Line 30: Line 39:
 
zipPrefix=wst-xquery
 
zipPrefix=wst-xquery
 
incubation=
 
incubation=
version=0.5.0
+
version=0.7.0
 
buildType=N
 
buildType=N
 
mainFeatureToBuildID=org.eclipse.wst.xquery.feature
 
mainFeatureToBuildID=org.eclipse.wst.xquery.feature
Line 38: Line 47:
 
JAVA_HOME=/opt/public/common/ibm-java2-ppc-50
 
JAVA_HOME=/opt/public/common/ibm-java2-ppc-50
 
JAVA50_HOME=/opt/public/common/ibm-java2-ppc-50
 
JAVA50_HOME=/opt/public/common/ibm-java2-ppc-50
dependencyURLs=http://download.eclipse.org/eclipse/downloads/drops/R-3.5-200906111540/eclipse-SDK-3.5-linux-gtk-ppc.tar.gz,http://download.eclipse.org/tools/orbit/downloads/drops/R20090825191606/orbit-R20090825191606.zip
+
#dependencyURLs=http://download.eclipse.org/eclipse/downloads/drops/R-3.5-200906111540/eclipse-SDK-3.5-linux-gtk-ppc.tar.gz,http://download.eclipse.org/tools/orbit/downloads/drops/R20090825191606/orbit-R20090825191606.zip,http://download.eclipse.org/webtools/downloads/drops/R3.1/R-3.1.1-20090917225226/wtp-common-fproj-sdk-R-3.1.1-20090917225226.zip,http://www.starstandard.org/download/org.antlr.runtime_v31.zip
 +
dependencyURLs=http://download.eclipse.org/eclipse/downloads/drops/R-3.5-200906111540/eclipse-SDK-3.5-linux-gtk-ppc.tar.gz,http://download.eclipse.org/tools/orbit/downloads/drops/R20090825191606/orbit-R20090825191606.zip,http://download.eclipse.org/webtools/downloads/drops/R3.1/R-3.1.1-20090917225226/wtp-common-fproj-sdk-R-3.1.1-20090917225226.zip
 +
repositoryURLs=http://download.eclipse.org/releases/galileo
 +
 
 +
#Need to install DLTK via Update Site as ZIP install does not appear to work with DLTK zips.
 +
featureIDsToInstall=org.eclipse.dltk.core
  
  
 
#what steps should we do? default: build.steps=buildUpdate,buildZips,buildTests,generateDigests,test,publish,cleanup
 
#what steps should we do? default: build.steps=buildUpdate,buildZips,buildTests,generateDigests,test,publish,cleanup
#build.steps=buildUpdate,buildZips,buildTests,generateDigests,test,publish,cleanup
 
 
build.steps=buildUpdate,buildZips,generateDigests,publish,cleanup
 
build.steps=buildUpdate,buildZips,generateDigests,publish,cleanup
  
Line 53: Line 66:
  
 
writableBuildRoot=${WORKSPACE}/build
 
writableBuildRoot=${WORKSPACE}/build
 
 
## END PROJECT BUILD PROPERTIES ##
 
## END PROJECT BUILD PROPERTIES ##
 
 
</pre>
 
</pre>
  
Line 64: Line 75:
 
* Eclipse 3.5 SDK  
 
* Eclipse 3.5 SDK  
 
* Eclipse Orbit
 
* Eclipse Orbit
 
+
* DLTK 1.0
Note: Currently WST is not yet included as we are awaiting the final XQuery code approval from Eclipse IP.
+
* Faceted Project Framework 1.4 or greater
  
 
== Executing a Build ==
 
== Executing a Build ==
Line 72: Line 83:
  
 
* incubator/sourceediting/development/org.eclipse.wst.xquery.releng
 
* incubator/sourceediting/development/org.eclipse.wst.xquery.releng
* incubator/sourceediting/plugins/com.google.gson
 
 
* incubator/sourceediting/plugins/org.eclipse.wst.xquery.marklogic
 
* incubator/sourceediting/plugins/org.eclipse.wst.xquery.marklogic
 
* incubator/sourceediting/features/org.eclipse.wst.xquery.feature
 
* incubator/sourceediting/features/org.eclipse.wst.xquery.feature
 +
* incubator/sourceediting/plugins/org.eclipse.wst.xqdt.core
 +
* incubator/sourceediting/plugins/com.google.gson
 +
* incubator/sourceediting/plugins/org.antlr.runtime_v31
 +
* incubator/sourceediting/plugins/org.eclipse.wst.xqdt.debug.core
 +
* incubator/sourceediting/plugins/org.eclipse.wst.xqdt.debug.debugger.marklogic
 +
* incubator/sourceediting/plugins/org.eclipse.wst.xqdt.debug.debugger.zorba
 +
* incubator/sourceediting/plugins/org.eclipse.wst.xqdt.debug.ui
 +
* incubator/sourceediting/plugins/org.eclipse.wst.xqdt.debug.ui.marklogic
 +
* incubator/sourceediting/plugins/org.eclipse.wst.xqdt.debug.ui.zorba
 +
* incubator/sourceediting/plugins/org.eclipse.wst.xqdt.launching
 +
* incubator/sourceediting/plugins/org.eclipse.wst.xqdt.launching.marklogic
 +
* incubator/sourceediting/plugins/org.eclipse.wst.xqdt.launching.zorba
 +
* incubator/sourceediting/plugins/org.eclipse.wst.xqdt.set.core
 +
* incubator/sourceediting/plugins/org.eclipse.wst.xqdt.set.debug.core
 +
* incubator/sourceediting/plugins/org.eclipse.wst.xqdt.set.debug.ui
 +
* incubator/sourceediting/plugins/org.eclipse.wst.xqdt.set.launching
 +
* incubator/sourceediting/plugins/org.eclipse.wst.xqdt.set.ui
 +
* incubator/sourceediting/plugins/org.eclipse.wst.xqdt.ui
  
If any of these get changes, a build will be executed.  
+
If any of these change, a build will be executed.
  
 
== Build Metrics and Trends ==
 
== Build Metrics and Trends ==

Latest revision as of 06:47, 19 October 2010

Introduction

Currently builds are conducted using the Athena_Common_Build infrastructure and the Hudson build server.

Builds

Information about running builds and various configuration options.

  • Latest XQDT Builds - note these are not official release builds but for developers and early adopters. They may be unstable.


Build Configuration

Since currently there are no unit tests the XQuery builds are just building the code and producing the necessary ZIP and P2 Update Zip archives. The build that is on Hudson is using that Athena_Common_Build set of ant scripts. This allows for a easy configuration of an eclipse feature based build, it does NOT currently work with a product based build.

Releng Build Script

The XQDT project does not use the standard shell script on the build server to execute the build. Instead it uses the same ANT script that is suggested by the Athena Documentation to run Eclipse Headless builds from the workspace. This has a couple of advantages:

  1. The same script it used by both developers and the build machine.
  2. ANT is platform independent, this means that multiple build scripts do not need to be maintained.

The latest version of the Ant script can be found in the releng project.

Build Properties

An Athena build is controlled primarily by the build.properties file. The following is an example of the build.properties file in the org.eclipse.wst.xquery.releng project.


## BEGIN PROJECT BUILD PROPERTIES ##

# default settings for all this project's builds, for this branch; see also o.e.d.common.releng/build.properties for more overrideable defaults

# To permit automatic downloads of non-EPL compatible code, set this to property to "I accept"
thirdPartyDownloadLicenseAcceptance="I accept"

# MUST BE SET #
projectid=webtools.xquery
zipPrefix=wst-xquery
incubation=
version=0.7.0
buildType=N
mainFeatureToBuildID=org.eclipse.wst.xquery.feature
#testFeatureToBuildID=org.eclipse.wst.xml.xpath2.processor_tests.feature

# MUST BE SET #
JAVA_HOME=/opt/public/common/ibm-java2-ppc-50
JAVA50_HOME=/opt/public/common/ibm-java2-ppc-50
#dependencyURLs=http://download.eclipse.org/eclipse/downloads/drops/R-3.5-200906111540/eclipse-SDK-3.5-linux-gtk-ppc.tar.gz,http://download.eclipse.org/tools/orbit/downloads/drops/R20090825191606/orbit-R20090825191606.zip,http://download.eclipse.org/webtools/downloads/drops/R3.1/R-3.1.1-20090917225226/wtp-common-fproj-sdk-R-3.1.1-20090917225226.zip,http://www.starstandard.org/download/org.antlr.runtime_v31.zip
dependencyURLs=http://download.eclipse.org/eclipse/downloads/drops/R-3.5-200906111540/eclipse-SDK-3.5-linux-gtk-ppc.tar.gz,http://download.eclipse.org/tools/orbit/downloads/drops/R20090825191606/orbit-R20090825191606.zip,http://download.eclipse.org/webtools/downloads/drops/R3.1/R-3.1.1-20090917225226/wtp-common-fproj-sdk-R-3.1.1-20090917225226.zip
repositoryURLs=http://download.eclipse.org/releases/galileo

#Need to install DLTK via Update Site as ZIP install does not appear to work with DLTK zips.
featureIDsToInstall=org.eclipse.dltk.core


#what steps should we do? default: build.steps=buildUpdate,buildZips,buildTests,generateDigests,test,publish,cleanup
build.steps=buildUpdate,buildZips,generateDigests,publish,cleanup

compilerArg=-enableJavadoc -encoding ISO-8859-1
flattenDependencies=true
parallelCompilation=true
generateFeatureVersionSuffix=true
individualSourceBundles=true
forceContextQualifier=v${env.BUILD_ID}

writableBuildRoot=${WORKSPACE}/build
## END PROJECT BUILD PROPERTIES ##

Build Dependencies

There are several dependencies needed for XQuery. Additional dependencies will be added as needed:

  • Eclipse 3.5 SDK
  • Eclipse Orbit
  • DLTK 1.0
  • Faceted Project Framework 1.4 or greater

Executing a Build

A build can be run both manually by a committer or it will be checked every 10 to 20 minutes to determine if a build needs to be run. Builds are only run if the following projects have changed in the cvsroot/webtools repository:

  • incubator/sourceediting/development/org.eclipse.wst.xquery.releng
  • incubator/sourceediting/plugins/org.eclipse.wst.xquery.marklogic
  • incubator/sourceediting/features/org.eclipse.wst.xquery.feature
  • incubator/sourceediting/plugins/org.eclipse.wst.xqdt.core
  • incubator/sourceediting/plugins/com.google.gson
  • incubator/sourceediting/plugins/org.antlr.runtime_v31
  • incubator/sourceediting/plugins/org.eclipse.wst.xqdt.debug.core
  • incubator/sourceediting/plugins/org.eclipse.wst.xqdt.debug.debugger.marklogic
  • incubator/sourceediting/plugins/org.eclipse.wst.xqdt.debug.debugger.zorba
  • incubator/sourceediting/plugins/org.eclipse.wst.xqdt.debug.ui
  • incubator/sourceediting/plugins/org.eclipse.wst.xqdt.debug.ui.marklogic
  • incubator/sourceediting/plugins/org.eclipse.wst.xqdt.debug.ui.zorba
  • incubator/sourceediting/plugins/org.eclipse.wst.xqdt.launching
  • incubator/sourceediting/plugins/org.eclipse.wst.xqdt.launching.marklogic
  • incubator/sourceediting/plugins/org.eclipse.wst.xqdt.launching.zorba
  • incubator/sourceediting/plugins/org.eclipse.wst.xqdt.set.core
  • incubator/sourceediting/plugins/org.eclipse.wst.xqdt.set.debug.core
  • incubator/sourceediting/plugins/org.eclipse.wst.xqdt.set.debug.ui
  • incubator/sourceediting/plugins/org.eclipse.wst.xqdt.set.launching
  • incubator/sourceediting/plugins/org.eclipse.wst.xqdt.set.ui
  • incubator/sourceediting/plugins/org.eclipse.wst.xqdt.ui

If any of these change, a build will be executed.

Build Metrics and Trends

The builds on Hudson allow for some build metric and trends to be captured. In particular are the following:

  • Compiler Warnings
  • Build Execution Time
  • Disk Usage
  • Unit Testing Failure/Passing trends.

A failed build will also affect the weather report for a build.

Unit Tests

To be filled in when there are some.

Resources

Copyright © Eclipse Foundation, Inc. All Rights Reserved.