Why does requesting build delete files which are not part of stream
I have a "Command line - Jazz build engine" whose main task is to get the contents from the stream on to a folder, which contains files and folders which are not part of Stream. (they cannot be part of any stream)
In the build definition I have unchecked "Delete directory before loading" What happens is that whenever a build is requested, the build deletes all the files which are not part of Stream. My expectation was that the build will update the workspace without deleting the existing contents. Is this the expected behavior of the build ?\ we are using RTC 4.0 |
3 answers
Yes, this is expected behaviour -- it tries to bring the load directory into sync with what's in the build workspace being loaded. If you want it to leave certain files alone (e.g. generated .o files or something), then you should add these to the ignore list (.jazzignore file).
Comments Nick,
No worries, that all makes sense. Is there some top-level directory structure under c:\winceXXX that needs to be protected, or are the files you load mixed in to the existing directory structure? I'm not actually sure how the ignore mechanism treats folders, but I can check with someone from the SCM team, and/or try to model your situation. You don't have to check with the SCM team. I fairly certain there are some work items already created to address some of my issues. I must have not bookmarked the particular WI.
The root file/folder/symbolic link that is loaded from an SCM repository workspace are are what we consider a "share". if the share is a folder, everything in it and below is considered under SCM control and it is intended to map 1 to 1 with the contents in the repository unless specifically ignored (as Nick explained). Sibling file/folder/link that are in the same directory as the share are not considered under SCM control and should not be deleted by SCM during an load/unload.
|
Thanks Heather for the info. I'm finally had enough breathing room to circle back around and try this. I was following the article's link but RTC barfed. When I 'load as' all the individual folders and then go back to preferences to create a load rule, RTC throws an error. The only details is "An error occurred" - "java.lang.NullPointerException".
The only problem I see is that the load rule isn't working on files. I also suspect the error above came cause I also did a 'load as...' on some files. The files in question would be located right under c:\winceXX\Platform\.project and .jazzignore. So unless I'm doing something wrong then the load rules won't work for us cause the rules only appear to work on a folder level not a file level as well. If however files would work in the load rules then this would work for us. Comments Load rules work on the file level as well. I suspect the NPE encountered is work item 213788 which has been fixed in 4.0.0.1. If you are running a client more recent than that, can you raise a work item with the details.
|
Have the build load your workspace to a location that is not underneath C:\winceXXX. Then have your build script copy the necessary source code to the correct place within C:\winceXXX. The build script can be as smart as it needs to be about what to copy and what to clean up.
Comments
Karthik Krishnan
commented Nov 15 '12, 10:19 a.m.
We are currently using Loadrules + copy
Build copies to different location and then use scripts in build to copy to different location
We still have lots of issues with this approach but this works
|
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.