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.
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:// | + | 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:// | + | * [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. | + | 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,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 | |
− | + | * 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/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 | + | 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
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.