Cool!

I like the diagram, it makes the big-picture easier to grasp.

Here are my list of thoughts on this and I'm totally open to any feedback on it.

So to invert the list Andrus put together and put it in terms of dependencies (transients implied and not explicitly listed)

Module                                  Dependencies
cayenne-core                    - external stuff
cayenne-core-java-1.5   cayenne-core
cayenne-remote                  cayenne-core
cayenne-server                  cayenne-core, cayenne-remote
cayenne-server-java-1.5 cayenne-server
cayenne-jpa                             cayenne-server (shouldn't this be 
cayenne-core-java-1.5?)
cayenne-webobjects              cayenne-core
modeler-plugin                  swing-plugin, cayenne-webobjects, cayenne-server
swing-plugin                            plugin-launcher
plugin-launcher                 - external stuff

We have 3 Assemblies:

Generic Java Runs Anywhere (modeler without platform specific launcher)
OSX Cayenne Modeler Launcher
Windows Cayenne Modeler Launcher

This I think is the big picture and will be a guide to our assemblies and internal dependencies.

On the site, I'm positive that we can use the existing layout and images, I'm just not sure how to make that happen. I will look into that and post another thread on it.

There are also a bunch of changes that need to happen to the layout of the directories of the code. Once we have agreement that this is the proper dependency and assembly stuff I'll get started on putting the pom's together.

I will post another thread about directory layout changes.

In the mean time here are some url's to m2 documentation for those interested;

http://maven.apache.org/guides/getting-started/index.html

http://maven.apache.org/guides/introduction/introduction-to-the- standard-directory-layout.html

You can also get a free copy of 'Better Builds With Maven' from here;

http://www.mergere.com/m2book_download.jsp

You can get it here;

http://tinyurl.com/paany

with my registration but I'm not sure how long that will last before they force you to 'login' again. I get about 1 or 2 emails from them a months for he joy of the book, I think there is an 'opt out' but its not that annoying so I just delete them.

I reviewed the book while I was learning m2 and found it quite helpful.

I'm off to do directory structure spelunking.

TTFN,

-bd-

On Jul 20, 2006, at 4:11 PM, Andrus Adamchik wrote:

Now seems like the best time to initiate Maven 2 migration. I tried to identify logical dependencies that can be mapped to Maven modules (see a little diagram here [1]). The same diagram in terms of Maven project structure may look like this:

cayenne
   core
      cayenne-core
      cayenne-core-java-1.5
      cayenne-remote
      cayenne-server
      cayenne-server-java-1.5
      cayenne-jpa
      cayenne-webobjects
   modeler
      modeler-plugin
      plugin-launcher
      swing-plugin

The structure reflects the excludes used in the cayenne-ant/ant/ cayenne-java.xml to build smallest possible client jars, and also the fact that WebObjects community uses Cayenne as a third-party open source lib for various things [2]. We could split a number of other small standalone modules (cayenne-xml, cayenne-datasource, cayenne-events), but I wouldn't worry about that now, let's settle on the big picture first.

Thoughts?

Andrus

[1] http://people.apache.org/~aadamchik/module-dependencies.png
[2] http://objectstyle.org/woproject-old/lists/woproject-dev/ 2006/07/0206.html




Reply via email to