Believe it or now the structure is pretty well thought out. It may not be obvious, but documentation should help with this.

On Mar 1, 2007, at 6:47 PM, Mike Kienenberger wrote:
I took a look at the svn folder layout.

- jpa-chapter-* and pojo are integration tests?  Definitely not
obvious from the module names.

It is obvious :-) The full path is "itests/jpa-chapter*"


I also don't understand the difference between assemblies and build- tools.

Assemblies are the release archives in Maven speak. I didn't invent it :-) Build tools are used to build all modules. There is nothing common between them.

I see both a modeler and a framework/cayenne-modeler directory.

This is correct. "framework/cayenne-modeler" is a modeler *library*, while "modeler/*" are modules serve to produce Modeler *application* for a given platform. This distinction was introduced because there was no other way to handle this in Maven, but there is still common logic behind it.

I see maven-cayenne-plugin in the framework directory.   Isn't this a
build-tool/assembly?

No, this is a Maven analog of cgen - i.e. a plugin that we release to the users.


I see the regression/profiler in build tools.   How is that different
from integration tests as a separate directory.

Regression profiler doesn't belong anywhere really. It is probably the only module with a randomly chosen location waiting its time. It is excluded from the main build anyways.

There's no breakdown between JPA-specific pieces and classic Cayenne.

There is.

There's also no break out of the ROP stuff.

Correct.

Since these various pieces are in separate modules, I would think a module description would keep them separate as well. I'm sure it's a matter of perspective.

I don't completely follow, do you mean we need more fine-grained modules? I don't disagree, but there are two more dimensions (in addition to the "logical split" dimension) that make it harder: the need to maintain JDK 1.4/1.5 split and the need to maintain user vs. developer view ("unpublished" vs "published").

In fact I proposed in the past to split a few secondary modules for ease of reuse (connection pool and wocompat). I was going to mention that separate from this discussion.

Andrus


Reply via email to