It's all about the answers!

Ask a question

Building by Components


Roderick Thomas (661179) | asked Dec 02 '10, 10:58 a.m.
We have started setting up Jazz Build Engines to use with our projects. We are synchronizing the code with our existing Clearcase infrastructure using the CC Connector.

One stream in particular has ~20 components. They are synced correctly from CC into RTC. They are organized to be maintained separately, but ultimately each depend on one another for building the complete release.

Initially, there was confusion with the loading of the components into a Workspace, where the load options would drop the contents of each component into the root of the Package Explorer view, causing context issues. We resolved that issue after referencing: http://jazz.net/library/content/articles/rtc/2.0/source-control-load/ and following the "Loading the Component Root Folder" section.

Now, we're attempting to configure the Jazz Build Engine for this workspace and are having issues. Specifically, I was looking to create ONE Build Definition that could point to the correct component folder and ultimately build our entire release. This doesn't look to be possible.

It appears the issue found with the loading of components into a workspace is replicated here in the Jazz Build Engine, where all the components contents are dumped into the one folder (the "Load Directory"). This was resolved with respect to the Package Explorer view, but I don't see the same options presented for the Build Definition.

To simplify this, I chose only 1 component to attempt to load, using the "Select Components to Exclude" dialog. When I request a build with this configuration, I would assume the JBE would attempt to sync the one component checked and execute the command line build command. Instead, I get errors generated in the log, complaining about collisions (see log below). The colliding artifacts do exist in other components, but when I have excluded all the other components, why is it complaining?

Is it expected that I create a separate Build Definition for each component? Is there no way to have the components load within a component level directory (instead of the contents of each component dumped into the "Load Directory", colliding with the contents of other components)?

2010-11-29 20:10:27 running on host: ina****
2010-11-29 20:10:27 Should build occur?
2010-11-29 20:10:27 Yes: Always build a user initiated request.
2010-11-29 20:10:27 Invoking pre-build participant "com.ibm.team.build.jazzscm"
Accepting changes into workspace "studio_modularArch_7.1 Workspace" ...
Deleting fetch destination "/export/home/rtc/builds/core/full" before fetching ...
Fetching files to fetch destination "/export/home/rtc/builds/core/full" ...
com.ibm.team.build.internal.scm.SourceControlUtility$2: Status WARNING: com.ibm.team.filesystem.client code=2 Loading the directories in the file system would overwrite/remove existing directories. null children=
at com.ibm.team.build.internal.scm.SourceControlUtility.updateFileCopyArea(SourceControlUtility.java:365)
at com.ibm.team.build.internal.engine.JazzScmPreBuildParticipant.preBuild(JazzScmPreBuildParticipant.java:193)
at com.ibm.team.build.internal.engine.BuildLoop.invokePreBuildParticipants(BuildLoop.java:628)
at com.ibm.team.build.internal.engine.BuildLoop$2.run(BuildLoop.java:466)
at java.lang.Thread.run(Thread.java:595)
Contains: services (collides with other components being loaded)
Contains: .project (collides with other components being loaded)
Contains: project_conf.py (collides with other components being loaded)

11 answers



permanent link
Nick Edgar (6.5k711) | answered Dec 07 '10, 10:58 a.m.
JAZZ DEVELOPER
That's quite possible. The list of components to exclude is a property on the build definition, and is not updated automatically when components are added/removed from the build workspace. We should check whether the list refers to missing components and clean it up.

I've filed 141359: Components to exclude list can be left referring to missing components and subscribed you.

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.