It's all about the answers!

Ask a question

Component names not showing in build workspace.


Mike Jones (622) | asked Mar 15 '12, 3:42 p.m.
I have created a component with multiple sub-directories. The component is named as follows:

TC_ITK

subfolders are

TC_ITK->docs
TC_ITK0>scr

When the build engine runs the definition, it creates folders as follows:

docs
scr

Rather than the same dir structure as I modeled in the component. I expected the build engine to build a structure where docs and scr are children of a directory TC_ITK

I've tried many times to get this to work out any advice?

11 answers



permanent link
Ralph Schoon (63.1k33646) | answered Mar 16 '12, 6:31 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Hi Mike,

to my knowledge, components are used to provide a logical grouping for projects, e.g. based on the architecture. I have never heard that components would be related to a folder structure. If you want a component based folder structure, you can create a folder in each component and share the projects in the folder. Then loading would create the structure you want.

permanent link
Geoffrey Clemm (30.1k33035) | answered Mar 16 '12, 7:31 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
In recent versions of RTC, in the "Jazz Source Control" tab of the build
definition, you will see a check box titled "Create folders for
components". To get the functionality you want, check that box (it is
unchecked by default).

Cheers,
Geoff

On 3/15/2012 3:57 PM, mike.a.jones wrote:
I have created a component with multiple sub-directories. The
component is named as follows:

TC_ITK

subfolders are

TC_ITK->docs
TC_ITK0>scr

When the build engine runs the definition, it creates folders as
follows:

docs
scr

Rather than the same dir structure as I modeled in the component. I
expected the build engine to build a structure where docs and scr are
children of a directory TC_ITK

I've tried many times to get this to work out any advice?

permanent link
Karen Gdaniec (21) | answered May 18 '12, 10:59 a.m.
Geoff, we are having this same problem. I have 6 components defined in my stream. When we try to build them, the top folders that represent the component names are all missing, so the components won't load because they have conflicts (each component has a "src" directory, for example... and a build.xml file). But, if I look at my personal workspace on disk, the folders exist (because I chose to load the component root folders). We've tried selecting this option you described above to create the root folder for the component in the build engine but it didn't solve the problem. I've been told I need to create root folders for each component, but then, on my disk, I'd have two folders (path becomes myworkspace/component1/component1/<files> instead of myworkspace/component1/<files>). I'm struggling with how to do this and still have my build.xml files be able to find the right paths whether I'm in the build engine or doing a local build. In RTC navigator for my personal workspace, the components also look like folders. Thanks in advance.

permanent link
Tim Mok (6.6k38) | answered May 18 '12, 4:43 p.m.
JAZZ DEVELOPER
Geoff, we are having this same problem. I have 6 components defined in my stream. When we try to build them, the top folders that represent the component names are all missing, so the components won't load because they have conflicts (each component has a "src" directory, for example... and a build.xml file). But, if I look at my personal workspace on disk, the folders exist (because I chose to load the component root folders). We've tried selecting this option you described above to create the root folder for the component in the build engine but it didn't solve the problem. I've been told I need to create root folders for each component, but then, on my disk, I'd have two folders (path becomes myworkspace/component1/component1/<files> instead of myworkspace/component1/<files>). I'm struggling with how to do this and still have my build.xml files be able to find the right paths whether I'm in the build engine or doing a local build. In RTC navigator for my personal workspace, the components also look like folders. Thanks in advance.
I wouldn't load the components as root folders in your personal workspace anymore if you've created folders in the component to hold the "src" directories. Although, the option in the build definition should work. If it doesn't, it would be a good idea to open a bug.

permanent link
Geoffrey Clemm (30.1k33035) | answered May 18 '12, 8:44 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
First, it's important to distinguish what you are seeing in a repository workspace (i.e. a repository object, which can be browsed via "show -> repository files") from what you are seeing in a "sandbox" (i.e. files loaded onto disk) for that repository workspace. What you see in a sandbox depends on what load options you used to load files into that sandbox. Also note that a build repository workspace will often be loaded into a variety of sandboxes (such as when you are using several build engines on different machines to do your personal builds), and each of those sandboxes can have been loaded with different load rules.

So in your case, setting the "create folders for components" in a particular build only affects the sandbox on the machine where that build is running. It has no effect on how files are loaded into a sandbox on your development machine (which I predict is where you were looking, when you didn't see those folders being created).

Note that in RTC-4.0, things are significantly improved because you can easily create a "load rule file", put it under source control, and then uniformly use that load rule file for both your personal sandbox and your build sandboxes.

Cheers,
Geoff

Geoff, we are having this same problem. I have 6 components defined in my stream. When we try to build them, the top folders that represent the component names are all missing, so the components won't load because they have conflicts (each component has a "src" directory, for example... and a build.xml file). But, if I look at my personal workspace on disk, the folders exist (because I chose to load the component root folders). We've tried selecting this option you described above to create the root folder for the component in the build engine but it didn't solve the problem. I've been told I need to create root folders for each component, but then, on my disk, I'd have two folders (path becomes myworkspace/component1/component1/<files> instead of myworkspace/component1/<files>). I'm struggling with how to do this and still have my build.xml files be able to find the right paths whether I'm in the build engine or doing a local build. In RTC navigator for my personal workspace, the components also look like folders. Thanks in advance.

permanent link
Karen Gdaniec (21) | answered May 21 '12, 9:33 a.m.
First, it's important to distinguish what you are seeing in a repository workspace (i.e. a repository object, which can be browsed via "show -> repository files") from what you are seeing in a "sandbox" (i.e. files loaded onto disk) for that repository workspace. What you see in a sandbox depends on what load options you used to load files into that sandbox. Also note that a build repository workspace will often be loaded into a variety of sandboxes (such as when you are using several build engines on different machines to do your personal builds), and each of those sandboxes can have been loaded with different load rules.

So in your case, setting the "create folders for components" in a particular build only affects the sandbox on the machine where that build is running. It has no effect on how files are loaded into a sandbox on your development machine (which I predict is where you were looking, when you didn't see those folders being created).

Note that in RTC-4.0, things are significantly improved because you can easily create a "load rule file", put it under source control, and then uniformly use that load rule file for both your personal sandbox and your build sandboxes.

Cheers,
Geoff

Geoff, we are having this same problem. I have 6 components defined in my stream. When we try to build them, the top folders that represent the component names are all missing, so the components won't load because they have conflicts (each component has a "src" directory, for example... and a build.xml file). But, if I look at my personal workspace on disk, the folders exist (because I chose to load the component root folders). We've tried selecting this option you described above to create the root folder for the component in the build engine but it didn't solve the problem. I've been told I need to create root folders for each component, but then, on my disk, I'd have two folders (path becomes myworkspace/component1/component1/<files> instead of myworkspace/component1/<files>). I'm struggling with how to do this and still have my build.xml files be able to find the right paths whether I'm in the build engine or doing a local build. In RTC navigator for my personal workspace, the components also look like folders. Thanks in advance.


Geoff,
Okay, I see what you mean now. When I do "show repository files" on the component, there is no root folder. I've been assuming that what I see in the Navigator view is a match, but it's not. Now, here is another question, though, because I tried moving this once already. Once I create the folder in the repository (and in my sandbox it will look like /<component>/<folder> for the moment), which files do I need to leave at the root component level and *not* move them to the new folder? When I tried this before my RTC client couldn't see the files anymore after I moved the .project file. Besides the .project file, are there other control files that need to stay in the component and not in a folder within the component? Thanks!

permanent link
Ralph Schoon (63.1k33646) | answered May 21 '12, 10:25 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Hi,

I am not sure what you did so that the files vanished. You need the .project file for sharing. Once the files are shared with the structure you want, you should be fine. If you have a .project file in the root folder, it gets loaded. You can actually also let RTC create the .project file when loading. This means you can ignore the .project file and you just have to select the correct load option.

permanent link
Geoffrey Clemm (30.1k33035) | answered May 21 '12, 11:38 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
It is important to distinguish "what RTC needs" from "what the RTC Eclipse plug-in does to make Eclipse happy". In particular, RTC SCM does not care at all whether or not you have .project files, or where they are located. But Eclipse does care, since most of the views that show you file trees, like the project explorer and package explorer, will only show you trees whose root directory contains a .project file.

So in particular, the standard Eclipse command for putting files under version control (the Eclipse "Share" command) can only be applied to files in an Eclipse project. So you need to have that .project file there to make the tree visible in the view. But then you can chose to "undo" the checkin of the .project file, so it doesn't appear in the "share" change set. Or you can just remove that .project file and checkin that removal (but be forewarned ... Eclipse will try to be helpful by recreating a .project file in that case ... just don't check it in).

Conversely, when you have a tree of files under source control, and you want to manipulate them in Eclipse, you have to load them as Eclipse projects. The RTC Eclipse plugin provides you with several "load" options to make that easy. For example, a common approach is to tell it to just search the tree for projects (directories that have a .project file). But you can also tell it to create a project file for some directory and load that as an Eclipse project (and then you can decide whether to put the resulting .project file under version control).

Once you know all this, you should be able to answer your question below (:-).

Cheers,
Geoff


Geoff,
Okay, I see what you mean now. When I do "show repository files" on the component, there is no root folder. I've been assuming that what I see in the Navigator view is a match, but it's not. Now, here is another question, though, because I tried moving this once already. Once I create the folder in the repository (and in my sandbox it will look like /<component>/<folder> for the moment), which files do I need to leave at the root component level and *not* move them to the new folder? When I tried this before my RTC client couldn't see the files anymore after I moved the .project file. Besides the .project file, are there other control files that need to stay in the component and not in a folder within the component? Thanks!

permanent link
Karen Gdaniec (21) | answered May 23 '12, 10:29 p.m.
Well, I took the plunge, created the folders & moved everything but the .project file into the new folder. I then created a new workspace and managed to get things so that I can only see one level of directory in my sandbox. However, the build extract still fails because of the .project files in each component. If I show repository files, these .project files are a peer file to the new folder I created. The thing is, I can't see those .project files in my sandbox anymore, so I can't seem to remove them from source control. The only place I can see the .project files that are peers to the new folders is in the navigator view, and team actions that would let me set these files to be ignored (or outright remove them) are not available on the navigator view. I never can see those peer .project files in the package explorer or project explorer. I've tried opening a number of different perspectives to see if there is a way to get those files to show up somewhere where I have team actions, but no luck. Any suggestions on how to clear these files out of source control now?

It is important to distinguish "what RTC needs" from "what the RTC Eclipse plug-in does to make Eclipse happy". In particular, RTC SCM does not care at all whether or not you have .project files, or where they are located. But Eclipse does care, since most of the views that show you file trees, like the project explorer and package explorer, will only show you trees whose root directory contains a .project file.

So in particular, the standard Eclipse command for putting files under version control (the Eclipse "Share" command) can only be applied to files in an Eclipse project. So you need to have that .project file there to make the tree visible in the view. But then you can chose to "undo" the checkin of the .project file, so it doesn't appear in the "share" change set. Or you can just remove that .project file and checkin that removal (but be forewarned ... Eclipse will try to be helpful by recreating a .project file in that case ... just don't check it in).

Conversely, when you have a tree of files under source control, and you want to manipulate them in Eclipse, you have to load them as Eclipse projects. The RTC Eclipse plugin provides you with several "load" options to make that easy. For example, a common approach is to tell it to just search the tree for projects (directories that have a .project file). But you can also tell it to create a project file for some directory and load that as an Eclipse project (and then you can decide whether to put the resulting .project file under version control).

Once you know all this, you should be able to answer your question below (:-).

Cheers,
Geoff


Geoff,
Okay, I see what you mean now. When I do "show repository files" on the component, there is no root folder. I've been assuming that what I see in the Navigator view is a match, but it's not. Now, here is another question, though, because I tried moving this once already. Once I create the folder in the repository (and in my sandbox it will look like /<component>/<folder> for the moment), which files do I need to leave at the root component level and *not* move them to the new folder? When I tried this before my RTC client couldn't see the files anymore after I moved the .project file. Besides the .project file, are there other control files that need to stay in the component and not in a folder within the component? Thanks!

permanent link
Geoffrey Clemm (30.1k33035) | answered May 26 '12, 12:24 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Use the "Browse the components to select the folders to be loaded" option for the load command, and select the component root directory itself. This will load that component as a project into the sandbox, and from there, you should be able to delete the .project file.

Cheers,
Geoff

Well, I took the plunge, created the folders & moved everything but the .project file into the new folder. I then created a new workspace and managed to get things so that I can only see one level of directory in my sandbox. However, the build extract still fails because of the .project files in each component. If I show repository files, these .project files are a peer file to the new folder I created. The thing is, I can't see those .project files in my sandbox anymore, so I can't seem to remove them from source control. The only place I can see the .project files that are peers to the new folders is in the navigator view, and team actions that would let me set these files to be ignored (or outright remove them) are not available on the navigator view. I never can see those peer .project files in the package explorer or project explorer. I've tried opening a number of different perspectives to see if there is a way to get those files to show up somewhere where I have team actions, but no luck. Any suggestions on how to clear these files out of source control now?

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.