[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xml-cocoon-dev
Subject:    [M10N] new block layout
From:       Jorg Heymans <jh () domek ! be>
Date:       2005-11-03 14:29:00
Message-ID: dkd6q9$147$1 () sea ! gmane ! org
[Download RAW message or body]


A standard block layout can look like this :

 /cocoon-forms-block
     pom.xml
     /api
        pom.xml
     /impl
        pom.xml
     /samples
        pom.xml


  --> pom.xml
Is a multimodule pom containing

  <modules>
    <module>api</module>
    <module>impl</module>
    <module>samples</module>
  </modules>

as well as the dependencies for the block
    .....
    <dependency>
      <groupId>apache-cocoon</groupId>
      <artifactId>cocoon-ajax-impl</artifactId>
      <version>2.2-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>jakarta-oro</groupId>
      <artifactId>jakarta-oro</artifactId>
      <version>2.0.8</version>
    </dependency>
      .....

Note: I'm not 100% sure yet about adding all dependencies at this level,
this still needs some thought. For now it will do.


  --> /api
Use this if the block has different implementations with a common api.
The api pom is a child of the parent block pom so it pulls in all the
dependencies.

  <parent>
    <groupId>apache-cocoon</groupId>
    <artifactId>cocoon-forms-block</artifactId>
    <version>2.2-SNAPSHOT</version>
  </parent>


  --> /impl
The block implementation, it has a default dependency on the api block
    <dependency>
      <groupId>apache-cocoon</groupId>
      <artifactId>cocoon-forms-api</artifactId>
      <version>2.2-SNAPSHOT</version>
    </dependency>



  --> /samples
Special purpose module to build our sample website together. Basically
this is the contents of eg blocks/forms/trunk/samples together with the
sample java classes. The samples pom has a dependency on the impl pom as
chances are it won't run without ;)

    <dependency>
      <groupId>apache-cocoon</groupId>
      <artifactId>cocoon-forms-impl</artifactId>
      <version>2.2-SNAPSHOT</version>
    </dependency>


The block component itself follows the standard maven directory layout
[1], src/main/resources has COB-INF and META-INF.


WDYT ?

Jorg

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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic