james-site-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [James Wiki] Update of "Development/Modularisation" by RobertBurrellDonkin
Date Sun, 11 Feb 2007 09:32:48 GMT
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. 
+ 

Mime
View raw message