Builds are failing on RTC v3.0.1.5 after upgrade
Hi,
It seems after upgrading from v2.0.1.8 to v3.0.1.5 my builds are failing. The JBE is running on v3.0.1.5 release on a Linux RHEL 5.4. Am I missing something here? From what I can discern, it can't load the files and I've created a new workspace, ran the jbe with the -data option and all with the same results.
Has anyone seen this and how do I fix this?
2013-04-21 21:32:14 [Jazz build engine] com.ibm.team.build.maven : com.ibm.team.build.maven.mavenGoals = -X -e -DbuildLabel="CC${buildLabel}" -DbuildResultsDir="${buildResultsDir}" -Dstream="${stream}" clean install --> com.ibm.team.build.maven.mavenGoals = -X -e -DbuildLabel="CC${buildLabel}" -DbuildResultsDir="${buildResultsDir}" -Dstream="BSS Consolidation Stream from BSS Mainline Stream" clean install
2013-04-21 21:32:14 [Jazz build engine] com.ibm.team.build.maven : com.ibm.team.build.maven.mavenGoals = -X -e -DbuildLabel="CC${buildLabel}" -DbuildResultsDir="${buildResultsDir}" -Dstream="BSS Consolidation Stream from BSS Mainline Stream" clean install --> com.ibm.team.build.maven.mavenGoals = -X -e -DbuildLabel="CC${buildLabel}" -DbuildResultsDir="/mnt/builds/mbps_lab_builds/bss_consolidation_stream" -Dstream="BSS Consolidation Stream from BSS Mainline Stream" clean install
2013-04-21 21:32:14 [Jazz build engine] com.ibm.team.build.maven : com.ibm.team.build.maven.mavenGoals = -X -e -DbuildLabel="CC${buildLabel}" -DbuildResultsDir="/mnt/builds/mbps_lab_builds/bss_consolidation_stream" -Dstream="BSS Consolidation Stream from BSS Mainline Stream" clean install --> com.ibm.team.build.maven.mavenGoals = -X -e -DbuildLabel="CC20130421-2132" -DbuildResultsDir="/mnt/builds/mbps_lab_builds/bss_consolidation_stream" -Dstream="BSS Consolidation Stream from BSS Mainline Stream" clean install
2013-04-21 21:32:14 [Jazz build engine]
2013-04-21 21:32:14 [Jazz build engine] running on host: ausbuildvm06.bto.ibm.com
2013-04-21 21:32:14 [Jazz build engine] Should build occur?
2013-04-21 21:32:14 [Jazz build engine] Yes: Always build a user initiated request.
2013-04-21 21:32:14 [Jazz build engine] Invoking pre-build participant "com.ibm.team.build.jazzscm"
2013-04-21 21:32:15 [Jazz build engine] Accepting changes into workspace "BSS Consolidation Stream BUILD Workspace2" ...
2013-04-21 21:32:17 [Jazz build engine] Deleting fetch destination "/build2/bss_consolidation_stream" before fetching ...
2013-04-21 21:32:17 [Jazz build engine] Fetching files to fetch destination "/build2/bss_consolidation_stream" ...
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=[Status WARNING: com.ibm.team.filesystem.client code=0 /.project (requested to be loaded from both component ccp.data and Front-end development) null]
at com.ibm.team.build.internal.scm.SourceControlUtility.updateFileCopyArea(SourceControlUtility.java:625)
at com.ibm.team.build.internal.engine.JazzScmPreBuildParticipant.preBuild(JazzScmPreBuildParticipant.java:238)
at com.ibm.team.build.internal.engine.BuildLoop.invokePreBuildParticipants(BuildLoop.java:845)
at com.ibm.team.build.internal.engine.BuildLoop$2.run(BuildLoop.java:651)
at java.lang.Thread.run(Thread.java:619)
Contains : 0 /.project (requested to be loaded from both component ccp.data and Front-end development)
Any help is very much appreciated. Thanks.
Enrique
|
Accepted answer
Hi Enrique,
I've seen some other clients run into this after a 2.x upgrade. I believe this is related to the .projects of 2 components colliding in the same root directory of the build. There is a boolean value you can change to have each component create its own directory.
<!-- teamFetch copies the contents of the build workspace specified by workspaceName to
the local filesystem destination. -->
<teamFetch repositoryAddress="${rtc.repositoryAddress}"
userId="${rtc.userId}" password="${rtc.password}" workspaceName="${rtc.workspaceName}" destination="${workspace.dir}" buildResultUUID="${buildResultUUID}" createFoldersForComponents="true" verbose="true" />
I suspect the current directory structure looks like:
buildRootDirectory | +-- BuildTarget01 | | | +-- sourcedir0101 | | | +-- sourcedir0102 | | | +-- ... | +-- BuildTarget02 | | | +-- sourcedir0201 | | | +-- sourcedir0202 | | | +-- ... | +-- ... Directory structure with attribute set to "true" will look like: buildRootDirectory | +-- BuildTarget01 | | | +-- BuildTarget01 | | | +-- sourcedir0101 | | | +-- sourcedir0102 | | | +-- ... | +-- BuildTarget02 | | | +-- BuildTarget02 | | | +-- sourcedir0201 | | | +-- sourcedir0202 | | | +-- ... | +-- ... Enrique Gaona selected this answer as the correct answer
|
3 other answers
Ralph Schoon (63.1k●3●36●46)
| answered Apr 22 '13, 3:25 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
I am not sure here, but you could look into cleaning the load directory before loading. The error
Loading the directories in the file system would overwrite/remove existing directories.rather suggests that the SCM load has an issue with the repository workspace. This error message looks similar like in the Eclipse UI if you want to load a repo workspace into a location where another repo workspace is already loaded and you would get collisions. If you use the same load location for several builds in independent JBE's this could also happen. Comments
Enrique Gaona
commented Apr 22 '13, 9:53 a.m.
Hi Ralph,
|
Hey Josh,
Where do I set that value? I tried grep'ing for teamfetch and createFolders on both my RTC server and build engine and don't see them anywhere. Is that on the Ant build.xml? We're using Maven. Thanks. Enrique Comments
Enrique Gaona
commented Apr 22 '13, 2:23 p.m.
Nevermind, just saw the create folders for components checkbox.
Enrique Gaona
commented Apr 22 '13, 2:46 p.m.
Thanks, Josh. The create folders for components did the trick and I was able to load the files. However, by creating folders for every component, it also breaks all my builds and there are close to 50 build projects that will be affected.
Josh Crawford
commented Apr 22 '13, 3:37 p.m.
Hi Enrique, my example was from an Ant build.xml. The 2.x JBE seems to ignore this condition during load which to me seems like a potential bug since it allows for the collision to happen.
Unfortunately I don't see anyway to avoid editing the build scripts if they were expecting a particular directory structure.
Enrique Gaona
commented Apr 22 '13, 6:08 p.m.
Thanks again for the solution.
|
There's another option, that is to delete all .project from all the components. Tried it earlier and was able to get a successful build.
Comments
Josh Crawford
commented Apr 22 '13, 9:59 p.m.
That will give you a successful build for this scenario but removing that file will make the project non-modifiable in the eclipse client
1
Spencer Murata
commented Apr 25 '13, 5:16 p.m.
| edited Apr 25 '13, 5:17 p.m.
FORUM MODERATOR / JAZZ DEVELOPER
You don't have to delete the .projects. You can move the .project and related folder (e.g. src) into a new folder under the same component and check it in. Then that folder will become the eclipse project. That would be less churn and would probably be better for your build process.
~Spencer
|
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.
Comments
UPDATE: This is similar to this to this forum topic, https://jazz.net/forum/questions/22183/error-comibmteamfilesystemclient-code0