Build using two components with a common root directory?
In order to play nicely with a legacy clearcase system, our project needs to ensure that all of our files live under a predefined root directory. We'd like to split the files between multiple components, but our build is failing due to the overlap:
2008-11-10 10:24:36 Should build occur? Checking for changes incoming to workspace "Build Workspace" ... found changes (5) 2008-11-10 10:24:36 Yes: Pre-build participant "com.ibm.team.build.jazzscm" would like to build. 2008-11-10 10:24:37 Invoking pre-build participant "com.ibm.team.build.jazzscm" Accepting changes into workspace "Build Workspace" ... Fetching files to fetch destination "/home/jazz/buildsystem/buildengine/eclipse" ... com.ibm.team.build.internal.scm.SourceControlUtility$2: Status ERROR: com.ibm.team.filesystem.client code=2 Folders to load overlap other contents null children= at com.ibm.team.build.internal.scm.SourceControlUtility.updateFileCopyArea(SourceControlUtility.java:285) at com.ibm.team.build.internal.engine.JazzScmPreBuildParticipant.preBuild(JazzScmPreBuildParticipant.java:152) at com.ibm.team.build.internal.engine.BuildLoop.invokePreBuildParticipants(BuildLoop.java:570) at com.ibm.team.build.internal.engine.BuildLoop$2.run(BuildLoop.java:426) at java.lang.Thread.run(Thread.java:619) Is there a workaround for this? Our structure is basically: /component1/commonDir/project1 /component2/commonDir/project2 And I've tried using component load rules to specify something like: RootFolderName=/commonDir/project1 in the component1 load rules and: RootFolderName=/commonDir/project2 in the component2 load rules. With these rules, I get the slightly different error: 2008-11-10 10:55:10 Should build occur? 2008-11-10 10:55:10 Yes: Always build a user initiated request. 2008-11-10 10:55:10 Invoking pre-build participant "com.ibm.team.build.jazzscm" Accepting changes into workspace "Build Workspace" ... Deleting fetch destination "/home/jazz/buildsystem/buildengine/eclipse/workspace" before fetching ... Fetching files to fetch destination "/home/jazz/buildsystem/buildengine/eclipse/workspace" ... 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:285) at com.ibm.team.build.internal.engine.JazzScmPreBuildParticipant.preBuild(JazzScmPreBuildParticipant.java:152) at com.ibm.team.build.internal.engine.BuildLoop.invokePreBuildParticipants(BuildLoop.java:570) at com.ibm.team.build.internal.engine.BuildLoop$2.run(BuildLoop.java:426) at java.lang.Thread.run(Thread.java:619) Wondering if there are other tricks to try or if this is not supported currently. Thanks very much, Jesse |
2 answers
To clarify - it's fine for our jazz build to check all the folders out with no overlap. So:
/component1/commonDir/project1 /component2/commonDir/project2 Could be checked out to: /workspace/project1 /workspace/project2 I haven't been able to configure the component load rules to make this happen yet. |
I resolved this by creating a stream for each of my components, and then a third for my build script. The build scripts use teamFetch to download the two components two sub-dirs to avoid the collision. They then use the project code in the sub-dirs to complete the build.
|
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.