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

Advice on component layout & dependency mgmt

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?

0 votes



2 answers

Permanent link
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

0 votes


Permanent link
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

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

Question asked: Jul 16 '08, 1:30 p.m.

Question was seen: 4,400 times

Last updated: Jul 16 '08, 1:30 p.m.

Confirmation Cancel Confirm