Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
XQuery Development Tools/Build
Contents
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:
- 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 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.