Maven Users -

I'm relatively new to Maven and would like to request guidance on setting up
a project, customizable per client.  The project is a pretty standard
Struts2/Spring project, and we currently control customization using Ant. 
Each "client version" of the product can overwrite a few configuration
files:

CORE PRODUCT

/src...
/resources
--- application.properties // e.g. Contains configuration parameters set at
build/deploy time.
/config
-- ReportRules.xml
-- ReportBuilding.xml
-- /reports
---- Sales_Report.xml
---- Income_Report.xml

CUSTOM PROJECT

/config
-- ReportBuilding.xml // e.g. Should overwrite the core version when
deployed.
-- /reports
---- Sales_Report.xml // e.g. Should overwrite the core version when
deployed.
---- Income_Report.xml // e.g. Should be added when deployed.

As you can see, the CUSTOM PROJECT (e.g. for a particular client) has
certain files that should be added (or overwrite) files in the CORE product. 
We have multiple (20+) customized client versions.  I've been reading
documentation at the main Maven site, and have seen some various options:

* WAR Overlay
* Child Modules
* External Resources
* Etc.

I'm struggling with the best approach to make this happen.  I'm not sure if
it's better for the parent (CORE) to point at the possible children (CUSTOM
- which changes per client), or if it's better for the children (CUSTOM) to
point back up at the CORE.

Also, I need to be sure that when we're developing, if we want to build a
CUSTOM version, we can pass configuration parameters that make it into the
application.properties file (defined only at CORE, with tokens).

Please let me know if I can provide any additional information, and I
appreciate any advice or additional places I could look for guidance.

Thank you,
Josh
-- 
View this message in context: 
http://www.nabble.com/Customizable-Maven-Project-tp19337330p19337330.html
Sent from the Maven - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to