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 "STP Build Using Buckminster"

Line 69: Line 69:
 
</pre>
 
</pre>
  
 +
== CruiseControl Setup ==
 +
Setting up CruiseControl for STP build using Buckminster is straightforward, basic steps list below:
 +
<pre>
 +
1. Guarantee you can build STP follow steps list above, suppose your working copy at /local/stp/trunk
 +
2. Download Cruisecontrol from http://cruisecontrol.sourceforge.net/ , binary version 2.7.1 is preferred to
 +
3. Edit properties as you wish in /local/stp/trunk/build/buckminster/cruise-config.xml
 +
3. Start CruiseControl like:
 +
$cd cruisecontrol-bin-2.7.1
 +
$./cruisecontrol.sh -configfile /local/stp/trunk/build/buckminster/cruise-config.xml
 +
4. See results at: http://localhost:8080/cruisecontrol/buildresults/stp
 +
5. Monitor build process at: http://localhost:8080/dashboard/dashboard
 +
</pre>
 
= Extend Build System =
 
= Extend Build System =
 
== Get Familiar with Buckminster ==
 
== Get Familiar with Buckminster ==

Revision as of 05:08, 8 January 2008

Introduce

The purpose of this document is to supply some information on the new STP build system based on Buckminster. If you only want to use it to build STP plugins, then it needn't any backgrounds of Buckminster at all, otherwise, say extend the build system to add your new plugins to STP build system, then an understanding of Buckminster will be good.

Use Build System

This section will introduce on how to use the new build system to build STP quickly, here I will show commands based on Linux, building on Window is similar except some different arguments, I will give more detail at the end of this section.

Prerequisite

Target Platform

You need setup a target platform first before you building STP, the target platform is just an Eclipse SDK installation plus all the prerequisite plugins needed by STP, e.g. you need install plugins below to /shared/eclipse_java/eclipse directory:

  • eclipse-SDK-3.3.1.1-linux-gtk.tar.gz
  • wtp-sdk-R-2.0.1-20070926042742.zip
  • GEF-SDK-3.3.1.zip
  • GMF-sdk-2.0.1.zip
  • emf-sdo-xsd-SDK-2.3.1.zip
  • emf-query-SDK-1.1.zip
  • emf-validation-SDK-1.1.1.zip
  • emf-transaction-SDK-1.1.1.zip
  • mdt-ocl-SDK-1.1.1.zip
  • m2t-jet-SDK-incubation-0.8.1.zip
  • orbit-R200709171314.zip
  • jsr_jars-0.7.0

Since STP is under developing, so all the plugins list here will be changed, you can refer STP download page to get the latest information: http://download.eclipse.org/stp/downloads/

To run unit test, you need install Eclipse test framework plugin too:

  • eclipse-test-framework-3.3.1.1.zip

Again, please make sure you install all those to /shared/eclipse_java/eclipse directory.

JDK Installation

Install a JDK 1.5 on your build machine, make sure you can access javac and java from command line.

Apache Ant

Install a Apache Ant 1.7.0 on your build machine, make sure you can access ant from command line.

Build STP

1. check out build system from svn
$svn co http://dev.eclipse.org/svnroot/stp/trunk/build/buckminster buckminster

2. build STP
$cd buckminster
$ant                                              #this will show a help message to you
$ant -Dbase.directory=/local/temp/download build  #kick off resolving and building for STP

waiting for about 5 minutes, after finishing, you can find build results from /local/temp/download/working/build/buckminster/workspace, it depend on your base.directory setting.

Test STP

Not finish, coming soon :)

Create STP Update Site

This is straightforward, run command below

$ant -Dbase.directory=/local/temp/download stp.build.site

after finishing, you can find STP update site from /local/temp/download/working/build/buckminster/stp.site/org.eclipse.stp.build.root/site, it depend on your base.directory setting.

Build on Windows

1. Prepare a target platform for Windows

2. You need tell the build system where to find the target platform, you need edit the stp.rmap file, in the searchPath for europa, change the url to point to your target platform, e.g. c:\eclipse

3. Run command below

c:\>cd buckminster
c:\>ant -Dbase.directory=c:\local\temp\download -Dpde.target.platform.path=c:\eclipse -Dpde.target.arch=x86 -Dpde.target.os=windows -Dpde.target.ws=win32 build 

CruiseControl Setup

Setting up CruiseControl for STP build using Buckminster is straightforward, basic steps list below:

1. Guarantee you can build STP follow steps list above, suppose your working copy at /local/stp/trunk
2. Download Cruisecontrol from http://cruisecontrol.sourceforge.net/ , binary version 2.7.1 is preferred to
3. Edit properties as you wish in /local/stp/trunk/build/buckminster/cruise-config.xml
3. Start CruiseControl like:
$cd cruisecontrol-bin-2.7.1
$./cruisecontrol.sh -configfile /local/stp/trunk/build/buckminster/cruise-config.xml
4. See results at: http://localhost:8080/cruisecontrol/buildresults/stp
5. Monitor build process at: http://localhost:8080/dashboard/dashboard

Extend Build System

Get Familiar with Buckminster

1. Buckminster project: http://www.eclipse.org/buckminster/index.php

2. A good start tutorial: http://wiki.eclipse.org/Hello_XML_World_Example_%28Buckminster%29

3. Useful documents: http://wiki.eclipse.org/index.php/Buckminster

How to Add New Plugin

Suppose you have a new plugin to add to STP build system, you should do things below:

1. You should guarantee it works fine inside Eclipse

2. You must add it to a feature, the build system does support add a plugin, but it's not a good practise

3. Edit buckminster.cspc file which defined in <buckminster>/org.eclipse.stp.build.root to add your feature, please read the comments in buckminter.cspec carefully, you need add that feature in three places, i.e. dependencies, bundle.jars and soa.development.category, the latter two are for update site, if you only want to build then add feature dependencies is enough

4. kick off building

5. Edit stp.rmap as needed if Buckminster can't resolve your new plugin

FAQ

Can I use other directory instead of /shared/eclipse_java/eclipse?

Yes, you can, but you need edit stp.rmap to point to your new target platform location and when you kick off building using -Dpde.target.platform.path=<your new location>

Can I get more debug information when error occurs?

When kick off building add properties -Dbuckminster.log.level=DEBUG

Can you tell me the organization of this build system?

The important components for the new build system are

* build.properties                   # define all kinds of properties
* build.xml                          # the Ant build file
* org.eclipse.stp.build.root         # the virtual component for STP build
* buckminster.cspec                  # Buckminster cspec file
* stp.cquery                         # the entry point for Buckminster
* stp.rmap                           # the resource map for STP

Can I use those stuff to prepare a STP workspace for me?

Yes, you can, you need prepare a Eclipse SDK which you used to develop STP and install Buckminster from http://www.eclipse.org/buckminster/downloads.html, then you go "File -> Open a Component Query", input http://dev.eclipse.org/svnroot/stp/trunk/build/buckminster/stp.cquery, and you can materialize STP now

Back to the top