On Mar 22, 2007, at 11:19 AM, Simon Laws wrote:
<stupidquestion>
When you talk about flattening the module hierarchy do you mean this
literally in svn (which I like the sound of as I can never find anything in
all the nested dirs - my inexperience showing) or is this some virtual
flattening?
</stupidquestion>

Not a <stupidquestion> at all. We can do either or both ...
<mvnStuffAsBackgound>
The logical/virtual tree here is the <parent> structure in the pom. Maven projects can inherit project definitions (stuff like dependencies, repo locations, plugins to use) from another project by specifying it in their <parent> element - this can be used to avoid repetition of stuff like dependency versions, plugin configurations and so on.

This is actually independent of the physical directory structure, although often the pom in one directory is used as the parent for <modules> that it builds. This is actually conflating physical structure and logical structure together and although it seemed like a good idea at the time I don't think that it is working any more.
</mvnStuffAsBackground>

I think we should first flatten the logical hierarchy so that all independent module groups inherit from a global parent. This would be org.apache.tuscany:sca:1.0-incubating. By "independent" I mean things that could be released independently - these could be groups of tightly coupled modules (such the current "kernel" or "runtime") or individual modules such as "http.jetty"

I started on this for the modules that were part of 2.0-alpha but have not done it yet for the modules in extensions or services that were not. I think we should do this now for the others - I'll make a start on the ones used in the demo.

An orthogonal issue is how we lay out the physical directory tree. It is probably simpler to get rid of midlevel parents like "extensions" and "services" all together and just have a flat structure under "sca" - I think that would help make things easier to find.

We started doing that with a gradual migration of stuff from "services" to "extensions" but I think doing this gradually has probably just added to the confusion. I'd suggest we give up on the gradual approach and move everything under "contrib" until we can fix the logical structure as above.

To summarize:
1) move everything that does not logical depend on org.apache.tuscany:sca:1.0-incubating to contrib
2) update each module or group in contrib to be logically independent
3) once the module is independent move it to the flat structure under sca so it is easy to find

I'm going to get started with the modules used in the demo.
--
Jeremy

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to