On 3/22/07, Jeremy Boynes <[EMAIL PROTECTED]> wrote:

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]

Jeremy. This sounds like a simpler approach than what is there now. I like
the idea but a question.

1) move everything that does not logical depend on
org.apache.tuscany:sca:1.0-incubating to contrib

from your previous definition do you mean those things that are not
considered to be independent. Or do you mean things that could be
independent but just aren't packaged that way now. I assume that you mean
the latter as your next point is to go ahead and make them independent.

Also is the global parent version 1.0-incubating or 1.0-incubating-SNAPSHOT.
I note that now you have it without SNAPSHOT but its children with SNAPSHOT.
Are you just saying that the global parent doesn't get packaged/released
per-se SNAPSHOT or not.

S

Reply via email to