Every module that has sub-modules must include a modules.build.order
property in its build.properties
file that defines the build order for the module’s direct sub-modules. For example, the modules.build.order
property for the Store
module looks like this:
modules.build.order=EStore/build.xml,Storefront/build.xml,Fulfillment/build.xml,DCS-CSR/build.xml,Fluoroscope/build.xml,Recommendations/build.xml,KnowledgeBase/build.xml,Mobile/build.xml,Endeca/build.xml
In this example, the modules.build.order
property specifies that the first sub-module to be built after the Store
module is built is the Store.Estore
module. If we examine the modules.build.order
property for the Store.EStore
module, it looks like this:
modules.build.order=EStore/Versioned/build.xml,EStore/International/build.xml
The Commerce Reference Store build system uses the modules.build.order
properties to create an iterative effect whereby a module defines its direct sub-modules, and then those sub-modules define their own direct sub-modules, and so on until all of the sub-modules are built. This technique offers the benefit of allowing you to start a build process at any point in the module tree and being assured that the module’s sub-modules are also properly built. For this reason, when you add a new module to Commerce Reference Store, you must also add its build.xml
file to the parent module’s modules.build.order
property.