You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by jfbaro <jf...@gmail.com> on 2008/09/01 15:26:21 UTC

Approach for multi-projects based on same base code

Hi,

I am studying Maven now and I think it might be just what we need to make
our builds easier and also (more important) standardizing our projects's
structures.

See our scenario:

We have the same trunk application but with slightly different bits and
pieces which change depending on the customers we have to deploy to. For
example, some clients use a customised DAO classes which relies on Stored
Procedures and it also have different constraints for the table names and
procedures. All the rest (about 98%) is the same for everybody. We would
like to use something like:

mvn install client1

and then BOOM! We have the right bits and pieces for this customers. Also is
important to note we would like to have a centralised point for mantaining
what is shared between the projects (which might be around 98%) and only
small files (xml??) to describe the parts which change. Which would make
things easier to keep it organized, I think!

What is the best approach (both on SVN and Maven) to make it simple and
idiots' proof ? :blush:  

Thanks everybody!

Cheers
-- 
View this message in context: http://www.nabble.com/Approach-for-multi-projects-based-on-same-base-code-tp19254714p19254714.html
Sent from the Maven - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Approach for multi-projects based on same base code

Posted by Geoffrey Wiseman <ge...@gmail.com>.
On Mon, Sep 1, 2008 at 9:26 AM, jfbaro <jf...@gmail.com> wrote:

> I am studying Maven now and I think it might be just what we need to make
> our builds easier and also (more important) standardizing our projects's
> structures.
>
> See our scenario:
>
> We have the same trunk application but with slightly different bits and
> pieces which change depending on the customers we have to deploy to. For
> example, some clients use a customised DAO classes which relies on Stored
> Procedures and it also have different constraints for the table names and
> procedures. All the rest (about 98%) is the same for everybody. We would
> like to use something like:
>
> mvn install client1
>
> and then BOOM! We have the right bits and pieces for this customers. Also
> is
> important to note we would like to have a centralised point for mantaining
> what is shared between the projects (which might be around 98%) and only
> small files (xml??) to describe the parts which change. Which would make
> things easier to keep it organized, I think!
>
> What is the best approach (both on SVN and Maven) to make it simple and
> idiots' proof ? :blush:
>

Sounds to me like you'd have a core project which you'd maintain
independently from client projects.  You could have an archetype for client
projects that would give you the quick-start template, depend on the core
for common code, and install templates for the likely customizations.

If that approach works well, you'd want to read up on
archetypes<http://maven.apache.org/guides/introduction/introduction-to-archetypes.html>,
creating archetypes<http://maven.apache.org/guides/mini/guide-creating-archetypes.html>and
general Maven things like dependencies.

    - Geoffrey
-- 
Geoffrey Wiseman