It's all about the answers!

Ask a question

Creating a Build Template and Build Engine


Steve White (4021213) | asked Feb 10 '11, 3:40 p.m.
Hi, I'm new to RTC, but have developed plug-ins for eclipse for several years.
I currently have a plug-in that provides the user a function to do builds on a host server. It solicits various input from the, which then passes this info onto the host server where the actual build process executes. Code is retrieved on the host side form the SCM. Also a additional function is users can build code form their workspace, which is uploaded to the host as part of the build (this function I would relate to what is called a personal build in RTC)

What I want to do i sport this over to RTC 3.0, but incorporating as much of the RTC features as possible. What I envision I will need is to create a build Engine and a Build template. The template would be selected in the build definition and the build engine would drive the build interacting with the host server.

I have been able to locate little information on how to create a new Build template and have it appear in the build definition. As well I have found little information on creating a Build Engine.

Is there documentation or articles that could describe and direct me to what I need to do for this? Or can someone provide that information.

Thanks, Steve

3 answers



permanent link
David Lafreniere (4.8k7) | answered Feb 10 '11, 7:43 p.m.
FORUM MODERATOR / JAZZ DEVELOPER
Is there documentation or articles that could describe and direct me to what I need to do for this? Or can someone provide that information.
Thanks, Steve


Hi Steve, These links should help for now, but I'll try to dig up some other documentation if they exist...

The Main Build Wiki site:
https://jazz.net/wiki/bin/view/Main/BuildMain

Some Build Design Info such as extension points, etc.
https://jazz.net/wiki/bin/view/Main/BuildDesignInfo

This Forum topic discusses how to create a custom pre-build participant:
http://jazz.net/forums/viewtopic.php?t=6568&start=0

permanent link
Steve White (4021213) | answered Feb 11 '11, 8:59 a.m.
Is there documentation or articles that could describe and direct me to what I need to do for this? Or can someone provide that information.
Thanks, Steve


Hi Steve, These links should help for now, but I'll try to dig up some other documentation if they exist...

The Main Build Wiki site:
https://jazz.net/wiki/bin/view/Main/BuildMain

Some Build Design Info such as extension points, etc.
https://jazz.net/wiki/bin/view/Main/BuildDesignInfo

This Forum topic discusses how to create a custom pre-build participant:
http://jazz.net/forums/viewtopic.php?t=6568&start=0

David,
thanks that is great info I couldn't find myself. The extension points seem like what I will want to utilize to create the Build Def template and some of the other extensions look useful too. Let me provide a little more detail of what the current eclipse plug-in does and see if I'm moving in the right direction in how I can provide the same function within the context of RTC. I mean, I could just drop the plug-in into RTC as is with some minor modifications, but I want to utilize the features that RTC provides and be more integrated with RTC and not have duplicate type screens and separate actions, etc. I.E. The eclipse plug-in provides a Build View, but RTC also has this, so I want to be able to utilize that RTC feature via the Build Def Template and engine I am assuming.

High level plugin feature/flow
default setting/preferences are set in workbench preferences for server connections and build settings
User initiates a build action
Wizard is displayed where user enters various build settings, which are pre-filled with the defaults defined in preferences. Also there may be background communication with the host server to collect information from the host to be displayed to the user for selection. (ie. list of possible fixes to build) or could be local files in the workbench (i.e like an RTC personal Build)
User submits the Build, which then the background code communicates with the host server where the build is executed and the results are returned and displayed to the user in the Build View.

So in using RTC, I am thinking that the Build Def Template and Engine is what I can use to accomplish the build action provided in the plug-in. I anticipate the need for several templates, one for each type of build that is supported.
The preferences will stay as is, maybe some will go away, but the Build Def can be prefilled with the defaults from the preferences?
The background code(build engine per say) would then communicate with the Host server to execute the build and also with the RTC Build Manger View(right term?) to display Build progress & status/state.

Does this seem like a reasonable approach using RTC and am I on the right track or way off base.

Thanks, Steve

permanent link
Nick Edgar (6.5k711) | answered Feb 25 '11, 10:23 a.m.
JAZZ DEVELOPER
Hi Steve,

You're on the right track in your thinking here. You shouldn't have to define a new kind of build engine, but if you have extra configuration, and corresponding runtime to execute using that configuration, you can:

1. define an extension for the new configuration element and the corresponding configuration and/or build properties (this goes in a common plugin to be available to RTC client, JBE and possibly server if needed)

2. define extensions for one or more templates for build definitions including your new configuration (also in common plugin)

3. define a configuration editor extension for editing the configuration in the IDE (UI plugin)

4. define a build engine participant extension for executing based on the configuration (goes in JBE)

5 (optional). define a contribution provider extension for summarizing any contributions made to the build in the build result editor, and optionally providing its own tab

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.