Exception by the build with "component load rules"
To speed up the build process, we defined the "component load rules" as the example in http://publib.boulder.ibm.com/infocenter/rtc/v1r0m0/index.jsp?topic=/com.ibm.team.build.doc/topics/r_scm_build_loadrules.html
Our load rules' definition:
but we got the exception at the building time:
Would you give us any suggestion? Thanks so much in advance.
Our load rules' definition:
RootFolderName=/com.ibm.iehs.content.filter/
RootFolderName=/com.ibm.iehs.updater/
RootFolderName=/com.ibm.myname.doc/
RootFolderName=/com.ibm.myname.doc_v2/
RootFolderName=/com.ibm.vcc.authentication.bluepage/
RootFolderName=/com.ibm.vcc.authentication.ldap/
RootFolderName=/com.ibm.vcc.authentication.wid/
RootFolderName=/com.ibm.vcc.base/
RootFolderName=/com.ibm.vcc.builder/
# RootFolderName=/com.ibm.vcc.builder/aix_tools/
# RootFolderName=/com.ibm.vcc.builder/environments/
# RootFolderName=/com.ibm.vcc.builder/parameters/
RootFolderName=/com.ibm.vcc.comment/
RootFolderName=/com.ibm.vcc.comment.search/
RootFolderName=/com.ibm.vcc.common/
RootFolderName=/com.ibm.vcc.core/
RootFolderName=/com.ibm.vcc.core.aspects/
RootFolderName=/com.ibm.vcc.db.cloudscape/
RootFolderName=/com.ibm.vcc.db.db2/
RootFolderName=/com.ibm.vcc.diagnostics/
RootFolderName=/com.ibm.vcc.ehsservice/
RootFolderName=/com.ibm.vcc.ets/
RootFolderName=/com.ibm.vcc.mailnotification/
RootFolderName=/com.ibm.vcc.moderator.simple/
RootFolderName=/com.ibm.vcc.rating/
RootFolderName=/com.ibm.vcc.report/
RootFolderName=/com.ibm.vcc.target/
RootFolderName=/com.ibm.vcc.versioning/
RootFolderName=/com.ibm.vcc.web.httphook/
RootFolderName=/com.ibm.vcc.web.jsphook/
RootFolderName=/com.ibm.vcc.web.resources/
RootFolderName=/com.ibm.watson/
RootFolderName=/org.eclipse.equinox.http.jetty/
RootFolderName=/org.eclipse.help/
RootFolderName=/org.eclipse.help.base/
RootFolderName=/org.eclipse.help.debug/
RootFolderName=/org.eclipse.help.webapp/
RootFolderName=/org.eclipse.update.configurator/
RootFolderName=/org.eclipse.update.core/
RootFolderName=/org.mortbay.jetty.log4j/
but we got the exception at the building time:
2009-04-01 16:45:21 [Jazz build engine] Should build occur?
2009-04-01 16:45:21 [Jazz build engine] Yes: Always build a user initiated request.
2009-04-01 16:45:22 [Jazz build engine] Invoking pre-build participant "com.ibm.team.build.jazzscm"
Deleting fetch destination "D:\vcc2\daily_build\fetched" before fetching ...
Fetching files to fetch destination "D:\vcc2\daily_build\fetched" ...
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=204 vcc (collides with other components being loaded) null Status WARNING: com.ibm.team.filesystem.client code=204 schema (collides with other components being loaded) null Status WARNING: com.ibm.team.filesystem.client code=204 lib (collides with other components being loaded) null Status WARNING: com.ibm.team.filesystem.client code=204 test (collides with other components being loaded) null Status WARNING: com.ibm.team.filesystem.client code=204 vccconf (collides with other components being loaded) null Status WARNING: com.ibm.team.filesystem.client code=204 removed (collides with other components being loaded) null Status WARNING: com.ibm.team.filesystem.client code=204 src (collides with other components being loaded) null Status WARNING: com.ibm.team.filesystem.client code=204 META-INF (collides with other components being loaded) null Status WARNING: com.ibm.team.filesystem.client code=204 .settings (collides with other components being loaded) null]
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(Unknown Source)
Would you give us any suggestion? Thanks so much in advance.
8 answers
I ended up using the foldername=/projectname/ directive on my load rules because the RootFolderName directive only loads the contents of each named component minus the actual projectname. I think the RootFolderName should only be used if you have a structure like this
/ (component
|
|-feature
| |
| |-feature1/
| |-feature2/
|
|-plugins
| |
| |-plugin1/
| |-plugin2/
where RootFolderName will target either of /feature/ or /plugins/ to load the child projects.
The thing is that I understand it the other way when reading the documentation in RTC (which you also linked).
ciao!
/ (component
|
|-feature
| |
| |-feature1/
| |-feature2/
|
|-plugins
| |
| |-plugin1/
| |-plugin2/
where RootFolderName will target either of /feature/ or /plugins/ to load the child projects.
The thing is that I understand it the other way when reading the documentation in RTC (which you also linked).
ciao!
this is unusable!
you need a mechanism to choose specific folders in your component and have them copied out in the same structure, not 'flattened out' otherwise the likelihood of a clash is very high.
using foldername as an alternative is not viable - far too much maintenance, and just way too complex for the simple principle of loading part of your component.
If you need an example of how it can be done, reference Perforce's client spec ..
See
https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&id=85020
and, more broadly
https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&id=44004
Also, for multi-component loads, including the component name in the path is covered by
https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&id=96400
you need a mechanism to choose specific folders in your component and have them copied out in the same structure, not 'flattened out' otherwise the likelihood of a clash is very high.
using foldername as an alternative is not viable - far too much maintenance, and just way too complex for the simple principle of loading part of your component.
If you need an example of how it can be done, reference Perforce's client spec ..
See
https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&id=85020
and, more broadly
https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&id=44004
Also, for multi-component loads, including the component name in the path is covered by
https://jazz.net/jazz/web/projects/Rational%20Team%20Concert#action=com.ibm.team.workitem.viewWorkItem&id=96400
The relevant work item is 88677 ... (or 85020). This work item is
currently scheduled for 3.0, but it doesn't appear to be started yet, so
it wouldn't hurt to add a comment to one of those work items indicating
your interest.
Cheers,
Geoff
jazzajg wrote:
currently scheduled for 3.0, but it doesn't appear to be started yet, so
it wouldn't hurt to add a comment to one of those work items indicating
your interest.
Cheers,
Geoff
jazzajg wrote:
this is unusable!
you need a mechanism to choose specific folders in your component and
have them copied out in the same structure, not 'flattened out'
otherwise the likelihood of a clash is very high.
using foldername as an alternative is not viable - far too much
maintenance, and just way too complex for the simple principle of
loading part of your component.
If you need an example of how it can be done, reference Perforce's
client spec ..
I will see if there is a relevant work item for this, otherwise I am
going to raise one and post it back here.
The SCM development team is busy wrapping up 2.0.0.2 but we have done our 3.0 planning.
If you want to know about developments in this area, subscribe to 44004. It will be updated once work starts.
If you want to know about developments in this area, subscribe to 44004. It will be updated once work starts.
The relevant work item is 88677 ... (or 85020). This work item is
currently scheduled for 3.0, but it doesn't appear to be started yet, so
it wouldn't hurt to add a comment to one of those work items indicating
your interest.
Cheers,
Geoff
jazzajg wrote:
this is unusable!
you need a mechanism to choose specific folders in your component and
have them copied out in the same structure, not 'flattened out'
otherwise the likelihood of a clash is very high.
using foldername as an alternative is not viable - far too much
maintenance, and just way too complex for the simple principle of
loading part of your component.
If you need an example of how it can be done, reference Perforce's
client spec ..
I will see if there is a relevant work item for this, otherwise I am
going to raise one and post it back here.
How do I load a component root as a directory during a build? I can do it from the command line and from the UI. The Component load rules in the build definition only allows for folders within a component.
I imported a ClearCase VOB into an RTC component and it has this structure:
VOB_Name
-> CommonFile.txt
-> Dir1
-> Dir2
Unless I load the component root (i.e. VOB_Name) as a directory I do not get the CommonFile.txt loaded. I cannot figure out how to do this as part of the build automation.
Thanks,
Jeff
I imported a ClearCase VOB into an RTC component and it has this structure:
VOB_Name
-> CommonFile.txt
-> Dir1
-> Dir2
Unless I load the component root (i.e. VOB_Name) as a directory I do not get the CommonFile.txt loaded. I cannot figure out how to do this as part of the build automation.
Thanks,
Jeff
This is not currently supported in 2.0.0.2, but is planned for 3.0. See 85020: scm load should provide an option to load artifacts with full path information comment 10.
For now, can you just avoid specifying any load rule? This will load all the files in the component, into the load directory (not a subdirectory). If a subdirectory is really needed, the only workaround I know of is to define a corresponding folder in the component.
For now, can you just avoid specifying any load rule? This will load all the files in the component, into the load directory (not a subdirectory). If a subdirectory is really needed, the only workaround I know of is to define a corresponding folder in the component.