cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jorg Heymans ...@domek.be>
Subject [M10N] new repo layout
Date Thu, 03 Nov 2005 14:21:32 GMT
Hi all,

I've just committed an example of how our repository could be structured
to support the ongoing componentization, new (osgi) block structure and
M10N. Daniel suggested this flat structure a while ago [0], maven [1]
and eclipse [2] use a similar layout.

The example is in the whiteboard, under maven2/cocoon-flat-layout.

The concept is the following :

/trunk
    pom.xml
    /cocoon-core
    /cocoon-forms-block
    /cocoon-ajax-block
    /cocoon-asciiart-block
    /... other blocks
    /webapp

  --> pom.xml
This is essentially just a multi-module pom which acts as the parent of
all module poms.

    <module>cocoon-core</module>
    <module>cocoon-ajax-block</module>
    <module>cocoon-forms-block</module>
     ....

It allows us to define properties and plugins valid for all modules.
Child modules can still override if necessary.

  --> /cocoon-core
This is kept as one maven module for now, we can choose to split this up
further. I didn't separate this one into api/impl as I wasn't sure if it
made sense, but maven-wise it's very easy to do so.

  --> /cocoon-forms-block, /cocoon-asciiart-block ...
All modules that we choose to host and support ourselves land in the
repository root. We can either stick to the existing block naming
convention or go for a package based approach like eclipse.

  --> /webapp
This is a special module in the sense that it will be used as a
deployment target for blocks during development. The webapp will also
get included in various other package and deployment targets.


To test the usability from the new structure, go to
maven2/cocoon-flat-layout and do
"mvn -Dmaven.test.skip=true install eclipse:eclipse" , it will
create an eclipse project for each module, at the end you should see
something like


[INFO] BUILD SUCCESSFUL
[INFO] ---------------------------------------------
[INFO] Total time: 54 seconds
[INFO] Finished at: Thu Oct 27 00:36:29 CEST 2005
[INFO] Final Memory: 8M/51M

In eclipse, you then do File->Import->Existing Projects Into Workspace
and point the root directory to maven2/cocoon-flat-layout. It should
detect all available projects, complete with library + inter-project
dependencies, source and targetpaths. Note that you'll need to setup the
M2_REPO variable to point to your maven2 repo. Alternatively, the
eclipse plugin can do this for you [3].


Please have a look and tell me what you think.


I'll explain the new block structure in another thread.


Regards
Jorg


[0] http://thread.gmane.org/gmane.text.xml.cocoon.devel/54923
[1] http://svn.apache.org/viewcvs.cgi/maven/components/trunk/
[2] http://dev.eclipse.org/
[3]
http://maven.apache.org/maven2/plugins/maven-eclipse-plugin/add-maven-repo-mojo.html


Mime
View raw message