It's all about the answers!

Ask a question

Advice on component layout & dependency mgmt


Alex Mulholland (712111) | asked Jul 16 '08, 1:30 p.m.
Is there any guidance available for structuring source code for a large project (many components)? I would like to have tight control and monitoring of dependencies (more granular than the package level), particularly between jazz components, and without building jar files (just class files that are later collected into bundles). Is 'ivy' the right way to go, or does its repository concept conflict with jazz in some way?

2 answers



permanent link
Jean-Michel Lemieux (2.5k11) | answered Jul 17 '08, 8:43 a.m.
JAZZ DEVELOPER
The best guidance I can provide is to partition your files/folders into components with the following in mind:

1. You can always move folders between components, so if you get it wrong you can refactor.
2. If you know that you'll want to release, develop, and share a set of files with different projects/teams, then put those in their own Jazz SCM component.

That is pretty much it for guidance. Again, the main point is that you can try different things out as your team grows.

As for Ivy, it should coexists just fine with Jazz SCM (of course I've never used it on a real project before, so I'm just talking from what I've read about Ivy on their website). In fact, you could imagine having an Ivy component repository published into a Jazz Scm Component so that other teams can consume the build artifacts instead of the source.

Jean-Michel Lemieux
Jazz Source Control Team

permanent link
Geoffrey Clemm (30.1k33035) | answered Jul 17 '08, 11:53 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
WRT moving files/folders between components, note that (unless something
has changed since last time this was discussed) although you can move
files/folders to another component, you cannot apply change sets from
the old component to the new component, so if you subsequently make
changes to those files/folders in a "pre-move" stream, those changes
cannot be applied to the files/folders in their "post-move" location.

Cheers,
Geoff

jlemieux wrote:
The best guidance I can provide is to partition your files/folders
into components with the following in mind:

1. You can always move folders between components, so if you get it
wrong you can refactor.
2. If you know that you'll want to release, develop, and share a set
of files with different projects/teams, then put those in their own
Jazz SCM component.

That is pretty much it for guidance. Again, the main point is that you
can try different things out as your team grows.

As for Ivy, it should coexists just fine with Jazz SCM (of course I've
never used it on a real project before, so I'm just talking from what
I've read about Ivy on their website). In fact, you could imagine
having an Ivy component repository published into a Jazz Scm
Component so that other teams can consume the build artifacts instead
of the source.

Jean-Michel Lemieux
Jazz Source Control Team

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.