Daniel Fagerstrom wrote:
> Jorg Heymans wrote:
>
>> 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.
>>
>>
> Would prefer puting API dependencies in the API module and let the impl
> depend on the api and the samples on the impl. Doesn't the tranistive
> dependencies work well enough or what is the reasons for having
> dependencies at parent level?
If you take everything into account, both API and implementation can
have their own dependencies, e.g.:
* B (API) depends on A (API)
* C (impl of A) depends on A (API)
* D (impl of B) depends on B (API)
* D (impl of B) depends on C (impl of A)
or better readable with a bit of ASCII art:
API: [ A ] <--- [ B ]
^ ^
| |
Impl: [ C ] <--- [ D ]
But as Daniel already mentioned, it looks good!
Andreas
|