Sharing Common Libraries using RTC
We are using RTC 4.0.6 for source code management, now what we are looking is to share a common library or a component across multiple RTC projects. Having trouble understanding how we can execute this scenario using RTC?
Example - we have a common set of libraries (say V1) created and that has to be flowed to using and new RTC projects, in course of time the Libraries have been updated (say V2) and now this has to be flow to all existing Projects.
Question - Can we implement this using RTC, if not do we have any other alternate.
Thanks in Advance
Accepted answer
there is also the non-source code approach..
the CommonLibrary-Stream, has a build which creates libraries in your repository system
(filesystem, nexus, articfactory or wherever), and the other components USE those apis
in build and test as libraries.. then you don't have streams at all.
when V2 of the libs are ready, they promote to the shared libraries
the CommonLibrary-Stream, has a build which creates libraries in your repository system
(filesystem, nexus, articfactory or wherever), and the other components USE those apis
in build and test as libraries.. then you don't have streams at all.
when V2 of the libs are ready, they promote to the shared libraries
Comments
Yes, my comment was only if they wanted to share source code from the common libraries with the project streams. If they only need/want to share the derived libraries, then it is best to use some library management system for that sharing.
and if you are using maven (of gradle) you can use the pom to specify those shared libs as dependencies, and point to a repository system (nexus/artifactory) to retrieve the 'latest' or 'specific' version
One other answer
I assume you are talking about the following scenario:
I have three streams: ProjectA-Stream, ProjectB-Stream, and CommonLibrary-Stream.
The CommonLibrary-Stream has components used by both ProjectA-Stream and ProjectB-Stream, and periodically, you want to flow baselines from CommonLibrary-Stream to both project streams.
The main question is whether you want to "push" those baselines to both streams at a given time, or whether you want each project to "pull" that snapshot into their project stream when they are ready to update.
In the "push" case, you could add the project streams as flow targets of the common library stream, and then use the Eclipse GUI to deliver the new snapshot to each of the project streams (or you could write a command script to do it, if you don't want to use the GUI).
In the "pull" case, you could add a new stream, the PublishedCommonLibrary-Stream, and you would then add the PublishedCommonLibrary-Stream as a flow target of each of the project streams. When new baselines of the common library are ready to be used by the projects, deliver those baselines from the CommonLibrary-Stream to the PublishedCommonLibrary-Stream. When a given project is ready to receive the recommended baselines from the common library, they would accept those baselines from the PublishedCommonLibrary-Stream.
I have three streams: ProjectA-Stream, ProjectB-Stream, and CommonLibrary-Stream.
The CommonLibrary-Stream has components used by both ProjectA-Stream and ProjectB-Stream, and periodically, you want to flow baselines from CommonLibrary-Stream to both project streams.
The main question is whether you want to "push" those baselines to both streams at a given time, or whether you want each project to "pull" that snapshot into their project stream when they are ready to update.
In the "push" case, you could add the project streams as flow targets of the common library stream, and then use the Eclipse GUI to deliver the new snapshot to each of the project streams (or you could write a command script to do it, if you don't want to use the GUI).
In the "pull" case, you could add a new stream, the PublishedCommonLibrary-Stream, and you would then add the PublishedCommonLibrary-Stream as a flow target of each of the project streams. When new baselines of the common library are ready to be used by the projects, deliver those baselines from the CommonLibrary-Stream to the PublishedCommonLibrary-Stream. When a given project is ready to receive the recommended baselines from the common library, they would accept those baselines from the PublishedCommonLibrary-Stream.