> -----Original Message-----
> From: Ciaran Treanor [mailto:[EMAIL PROTECTED]]
> Sent: 15 October 2002 16:01
> To: [EMAIL PROTECTED]
> Subject: Project layout
> 
> Hi,
> I'm was doing some refactoring on a project and I though that, while I
> was at it, the build system could do with some work too. I had a look
at
> Maven and Krysalis Centipede, but I think I've decided to go with
Maven.
> I just need a little help first.
> 
> This is what the project CVS modules look like:
> - common - code used by all backend modules
>     +- build.xml
>     +- common-build.xml
> - common-struts - code used by all struts modules
>     +- build.xml
> - featureX - backend code for featureX
>     +- build.xml
> - featureX-struts - struts code for feature X
>     +- build.xml
> - featureY
>     +- build.xml
> - featureY-struts
>     +- build.xml
> - ...

same as mine! :-)

> 
> My main problem is how to deal with libraries in Maven.
> Example:
> - At the moment common libraries are stuff in the common CVS module
> (common/lib)
> 
> If my understand is correct (unlikely!) the Maven way of doing things
is
> to
> put common libraries (jars etc) in the Maven repository.
> 
> If I go the Maven route then I have to ensure that a developer who
> checks out
> some modules to work on either has:
> 1. A copy of Maven with all the required libraries in it's repository
> 2. Checks out "my" copy of Maven from CVS.
> 
> I think option #1 is the preferred Maven way of doing things - is that
> right?

Yes, that's correct.

> 
> So how does the following work?
> - I want to build the module "featureX"
> - That module has a dependency on the module "common"
> - Module common needs to be compiled and a jar file put somewhere
>   so that module "featureX" can be compiled.
> 
> How is this achieved with Maven?

What I do is use the reactor tag in my maven.xml file and provide a
special goal ("dist-all"), as in:

  <goal name="dist-all" description="Full build plus prerequisites">
    <property name="goal" value="dist"/>
    <attainGoal name="action-prerequisites"/>
  </goal>

  <goal name="action-prerequisites">
    <reactor:execute
        basedir="${toplevelproject.dir}"
        glob="mysubproject/project.xml"
        goals="${goal}"
        banner="bla blah"
        ignoreFailures="false"
    />
    <attainGoal name="${goal}"/>
  </goal>

> 
> Sorry for the rambling!

 No, these are good questions.

-Vincent

> 
> ct
> 
> 
> 
> --
> To unsubscribe, e-mail:   <mailto:turbine-maven-user-
> [EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:turbine-maven-user-
> [EMAIL PROTECTED]>



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

Reply via email to