> -----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]>