On Tue, Apr 6, 2010 at 7:50 PM, Dan Allen
<dan.j.allen@gmail.com> wrote:
As promised, I have put together a page detailing the anatomy of a module project in Seam 3. Please consider this a draft document and feel free to provide feedback if there's something that doesn't seem agreeable to you. Also, if you think there is an important detail missing, or an inconsistency appears over time, please let us know.
Keep in mind that there are many different ways we could structure the modules. What is important is that the structure is reasonable and that it is consistent across modules. Contributors should be able to comfortable move between modules and be familiar with how the code is setup.
For those of you who haven't clicked through, we are suggesting that the main code go in the folder "impl" rather than "core".
Action item: rename core folder to impl
This allows room for introducing of an "api" folder to hold the public APIs. We want to be good about splitting the API code (which the developer's application will link to) and the implementation code, which is all the behind the scenes magic that the developer should never see or care about. I explain on the page how this structure accommodates the creation of proper public API JavaDocs.
Case in point. The beloved StatusMessages component from Seam 2 is an API class. Whereas an CDI Extension implementation is definitely an implementation class.
-Dan
--