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]

Reply via email to