Dear Wiki user,

You have subscribed to a wiki page or wiki category on "James Wiki" for change 
notification.

The following page has been changed by RobertBurrellDonkin:
http://wiki.apache.org/james/Development/Modularisation

The comment on the change is:
Details about how the proposed build would work

------------------------------------------------------------------------------
  
  Need to think about timing of mailet API move
  
+ ----
+ 
+ = Understanding The Modular Build =
+ 
+ == Master Build ==
+ 
+ Adopting some standard naming conventions allows the master build to 
automatically pick up all modules of a particular type. Subant can then be used 
to call the same target to all module build files of a particular type. This 
allows the modular build to automatically maintain the correct build order 
within needing to know about detailed relationships between modules.
+ 
+ Suggested conventions:
+ 
+  * Deployment modules - ''*deployment'' for example pheonix-deployment
+  * Function modules - ''*function'' for example smtp-function
+  * Library modules - ''*library'' for example user-repository-library
+  * API modules = ''*api'' for example james-core-api
+ 
+ == Module Builds ==
+ 
+ === Minimal Requirements ===
+ 
+ ==== Deployment Modules ====
+ 
+ The minimum requirement is for modules to provide an ant build file which:
+ 
+  * provides standard targets:
+    * clean
+    * lite
+    * dist
+    * everything
+ 
+ ==== Other Modules ====
+ 
+ The minimum requirement is for modules to provide an ant build file which:
+ 
+  * provides standard targets:
+    * dist
+    * clean
+  * creates artifacts in standard relative position
+ 
+ === Standard Module Builds ===
+ 
+ To reduce maintenance, standard builds will be provided for modules that want 
to adopt a standard module layout. 
+ 

Reply via email to