Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

Component sharing with different variants?

If we have a component shared to multiple streams, where 90% of the files are common and the rest of the files are specific to the variant where it is shared to(stream). How do we handle this with flow ?(flow can be controlled only at component level as far as I know). Of course the common files we would like to flow to all the variants (streams), but not the special configuration files which are specific to the variant.

Any suggestions?

1 vote

Comments

Hi Simon, Hi Geoff,
I am a college of Rateesh and try to elaborate this a bit further:

  • we have followed the separation approach partially already and separated the common code parts into separated components.
  • what now remains - and what trouble us - are the configuration files for those components.
I try to illustrate this:

Our problem is that:
  • we have a significantly high number (>10) of variants for each project
  • for each config file the "branch tree" looks completely different, e.g. Cfg 1 might be common for Variant A and B.A, for Cfg 2 it is A and C.
  • If we split up all config files into separate components, this will create > 150 new components, which also has obvious drawbacks.

I am not sure if Goeffs "folder" approach would help, because I do not see how the structure could remain constant. But the idea of remove not needed things via load rule is definitively interesting.

I'll work with Rateesh and Karsten off-line, and then report back to the forum.


Accepted answer

Permanent link
Today we had a workshop with IBM with Geoff, proposal for config files is:
* put the config files in one component
* this component will be part of many streams for each of the ACME variants, so it will have A LOT of branches
* But other than a very complex branch graph there is no harm to it.

So in contrast to other configuration mechanisms where I first create the branch on file level and use it in RTC it is basically the other way around - create the streams and live with whatever branch this creates :-).

So we will go on with this approach and consider this answered for now. Thanks Simon & Geoff.
Ratheesh Madathil selected this answer as the correct answer

0 votes


2 other answers

Permanent link
Hi Ratheesh,
it's only possible to flow the whole component between targets (streams, workspaces...)
So I would suggest to create own components for the variants that you have one component for all the common stuff and x components for the special variant stuff.

Than you can say you only want to share the common components.
The variant stuff has only to be shared with those targets (e.g. Repository Workspaces) which need them.

Hope this helps,
Simon

1 vote


Permanent link
Another approach is to have a "custom" directory in the shared stream, and to have a variant specific directory under that "custom" directory (i.e. ".../custom/var1", ".../custom/var2", etc.).   Then flow all of the changes to all of the variants, but a particular variant only looks at its directory in the "custom" directory.  And if there are a lot of files in the variant specific custom sub-directories, you can configure the load rules for a particular variant to only load the custom sub-directory for that variant.

0 votes

Your answer

Register or log in 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.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 12,020

Question asked: Aug 29 '13, 4:19 p.m.

Question was seen: 4,462 times

Last updated: Sep 26 '13, 10:07 a.m.

Confirmation Cancel Confirm