It's all about the answers!

Ask a question

Handle common files in RTC


Michael Schmidt (401710) | asked Aug 09 '13, 8:34 a.m.
Hello together,

I am in doubt about how to handle shared files in RTC.

We have projects which build not only their own files but also common files like interfaces.
These common files are used in other projects like in the picture below.



At the moment we would store these jar files on a public file server or network storage in order to import it during the build process.
Is there a better way to handle this in RTC?

2 answers



permanent link
Surya Tripathi (65017) | answered Aug 09 '13, 1:04 p.m.
You can try adding a new component, say comp_common. You can add your common files to this component and add it to each stream that needs it.

Comments
Michael Schmidt commented Aug 12 '13, 3:36 a.m. | edited Aug 12 '13, 9:26 a.m.

If I would do that, every stream will get its own version of the component.
So if I want to add a new file to the component I can't make it available to all customer streams. The only possibility is to create a new baseline and change the component baseline in every stream to the new baseline.

Or am I misguided in that point of view?


Henning Sternkicker commented Aug 12 '13, 7:02 a.m.
JAZZ DEVELOPER

When I understand you correct, you are wondering on how the changes to the archive component would flow to the customers stream? I think you have two options:
1. Change the configuration of the stream manually, i.e. for the component that has the jar files in it select the appropiate baseline and base your customer stream on that. For one or a few customer streams this seems feasible.
2. If you have more than a few customer streams you can think of a hierarchy of streams. Maybe the customer streams can have the archive component stream as a parent stream, than every new baseline of the archive component stream will be seen as an incoming change to the customer stream. With this, the team that is responsible for the customer stream can make a decision if or when the new archive will be accepted.


Tim Mok commented Aug 12 '13, 9:29 a.m.
JAZZ DEVELOPER

If you intend to update these files at the same time for everybody, that component can go in its own stream for common use. Everybody can create a workspace from that stream and will see the new updates whenever the component in that stream is updated.


permanent link
Geoffrey Clemm (30.1k33035) | answered Aug 12 '13, 6:27 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
You probably would be interested in work item Allow a stream to "share" a component from another stream. (127541) .  This would allow multiple streams to stay in sync on a shared component, without requiring accepts/delivers, flowing each workspace with multiple streams, or loading multiple workspaces into a sandbox.

I originally thought you were asking a different question ... i.e. whether you should stored derived (computed) files like .jar files under source control, and re-use them directly out of source control.   Clearly the source for the common components should be under source control, but should the derived files?  Downsides of storing the derived files under source control include:
- Derived files that are very big or that change rapidly can waste storage in the SCM system.
- You need to be careful that you are re-using the right versions of the derived files (the build system is usually better than the versioning system at managing this kind dependency analysis).

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.