It's all about the answers!

Ask a question

RTC Build Definition Help


Boris Kivshar (8686) | asked Sep 05 '11, 12:12 a.m.
Hi Guys.
I need some Build help. I am a total newbie when it comes to this specialty.

I'm using RTC 3.0.1 & a Build System Toolkit with ant on another server. I have setup a build engine and it's running ok.

My Jazz Source Control setup:
(1) Final Stream
(2) Team Stream
(3) Build Stream Workspace
(4) Personal Stream Workspace

Within all that are the following components:
A) JAVA Based Application
B) External Packaged Application
C) External Packaged Application

We are ok with creating a build definition for (A) utilizing the exiting Ant file, but as part of a final build/release we need to incorporate the other two components loaded into source control (B)(C).

The (B) & (C) components are pre-existing binaries & installers are are part of our product baseline. (no code here at all, no compiler required)

The first problem:
How can I use the build engine to simply take those two componentsout from source control, create a build within the build queue and dump that as a build to a network share? (no code is build here at all)

The second problem:
How can I combine the existing ant build definition for component (A) to also perform the steps in problem 1, and incude components (B) & (C) in the same build? (Even at the higher "Final Stream" level)

I have had a look at the various articles and the jazz wiki but can't seem to be getting anywhere. If I am talking rubish here, then I am sorry. Clearly shows my lack of understanding in this despite reading a lot of articles in this area

Any help is muchly appreciated.

One answer



permanent link
Nick Edgar (6.5k711) | answered Sep 08 '11, 9:46 p.m.
JAZZ DEVELOPER
Hi Boris,

For the first problem, do you also need to build A, then copy it with B and C, or is it just copying B and C? If the latter, I suggest creating a separate build definition that's configured with a separate build workspace, and configured to load only B and C. Then the Ant script could do whatever copying you need. Could even do it with a simple command line build instead of an Ant build. In either case, I suggest adding a build property to the build definition that captures the load directory path, and using property substitution in both the load directory field (for Jazz SCM page) and the command line field (if using a command line build; if using an Ant build, the build properties get passed to Ant automatically).

For the second problem, you could either always load all components (A, B and C) and have a build property for whether to do the deploy phase (defaulting to false, but can override manually in the request build dialog), or you could create separate build definitions (i.e. your original one and the one suggested above) and sequence them using the requestTeamBuild and waitForTeamBuild Ant tasks (see the Build Toolkit Ant Task Reference in the Help) from a 3rd build definition. Having a single build definition with flag would be simpler, but then you have the overhead of loading B and C each time. If the Jazz SCM page of the build definition is set to not delete the load directory each time, the content is not actually transferred if unchanged though.

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.