I've taken advantage of the new capabilities that Subversion provides for refactoring, to set up struts-faces as a top-level subproject with the ability to create its own release artifact. Interestingly, this subproject has four subsubprojects that provide its content as well, so the top-level build.xml is set up to delegate as needed to assemble the entire thing. The directory structure is:
$STRUTS_HOME/ struts-faces/ build.xml -- top level build script core-library/ -- subsubproject for the library itself example1-webapp/ -- first sample webapp (non-Tiles) example2-webapp/ -- second sample webapp (Tiles) sysclient-app/ -- system integration test ... client side systest1-webapp/ -- system integration test ... server side Each of the subsubprojects has its own build.xml to manage the details. So far, this is all still Ant based. While contemplating how we might use Maven for it, I've got some questions I hope the Maven gurus can address: * My understanding is that Maven is easiest to use on projects that create a single artifact ... but I need to assemble that artifact from several subordinate artifacts. So, I guess we'll need some sort of multi-target support? * The Ant scripts still use build.properties files for an important reason: I need to be able to substitute alternative solutions for the dependencies: - Struts itself (1.1, 1.2, or trunk) - JSF implementation (RI or MyFaces) How can I do that with Maven? * The build scripts utilize Ant's filtering tasks to modify the web.xml files based on which JSF implementation is used (as well as conditionally include some extra libraries that MyFaces needs but the JSF RI doesn't). How can I do that with Maven? * As the scripts work now, they include the source code in the same distribution as the binaries, so there's only one file for the user to download. I'm OK with doing them separately, but it would be nice if Maven supported this style as well. Craig --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]