You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Behrang Saeedzadeh <be...@gmail.com> on 2011/09/26 17:48:53 UTC
Multiple single-module projects vs one multi-module project
Hi,
For large projects, wouldn't multiple single module projects work better
than one multi-module project, because:
1- when using a dvcs, the repositories tend to become very large and when
the project is divided into multiple single module projects, each project
can have a small dvcs repository compared to one large monolithic repo.
2- new developers can be exposed only to the subset of projects that they
need to work with
3- finer grained security over which developers can see which parts of the
project
Thanks in advance,
Behrang
--
Cheers,
Behrang Saeedzadeh
http://www.behrang.org
Re: Multiple single-module projects vs one multi-module project
Posted by Ron Wheeler <rw...@artifact-software.com>.
We have aggregation projects that build a jar file containing all the
dependencies for that set of libraries.
We exclude anything that is being provided in another library so we know
exactly what version of transitive dependencies are being used.
I finally wrote up a description on our technical blog.
http://blog.artifact-software.com/tech/?p=121
It really cleaned up our application and made the war files really small
and relieved the developers from a lot of dependency specification. One
dependency gets all the Apache utilities that we use. Another single
reference gets everything needed for MySQL, Hibernate, Spring and Tomcat.
If you want some clean jokes
http://blog.artifact-software.com/fun
Ron
On 28/09/2011 12:52 AM, Behrang Saeedzadeh wrote:
> Thanks for affirming this Ron. By the way, how do you ensure that all
> those projects depend on the same set of external dependences without
> duplicating the information for each POM?
>
> Cheers,
> Behrang Saeedzadeh
> http://www.behrang.org
>
>
>
> On Tue, Sep 27, 2011 at 2:17 AM, Ron Wheeler
> <rw...@artifact-software.com> wrote:
>> I agree.
>>
>> 4- better visibility into the project for the manager. You know which
>> modules are being changed and which ones are supposed to remain unchanged.
>> You also get a bit of a warning about scope issues or potential problems
>> when a new module gets added to the list of things that need changing after
>> the development plan has been set.
>>
>> 5- more sense of responsibility for testing and the deploying of new
>> SNAPSHOTs and releases. The functional definition of the module tends to be
>> clearer if it is deployed to the team even if it is only a SNAPSHOT. The
>> team expects a personal guaranty to go with a deploy.
>> This tends to make programmers more careful about testing and documenting
>> functionality of stubs and SNAPSHOTs with partial functionality as well as
>> fully functional modules.
>>
>> Ron
>>
>> On 26/09/2011 11:48 AM, Behrang Saeedzadeh wrote:
>>> Hi,
>>>
>>> For large projects, wouldn't multiple single module projects work better
>>> than one multi-module project, because:
>>>
>>> 1- when using a dvcs, the repositories tend to become very large and when
>>> the project is divided into multiple single module projects, each project
>>> can have a small dvcs repository compared to one large monolithic repo.
>>> 2- new developers can be exposed only to the subset of projects that they
>>> need to work with
>>> 3- finer grained security over which developers can see which parts of the
>>> project
>>>
>>> Thanks in advance,
>>> Behrang
>>>
>>
>> --
>> Ron Wheeler
>> President
>> Artifact Software Inc
>> email: rwheeler@artifact-software.com
>> skype: ronaldmwheeler
>> phone: 866-970-2435, ext 102
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
--
Ron Wheeler
President
Artifact Software Inc
email: rwheeler@artifact-software.com
skype: ronaldmwheeler
phone: 866-970-2435, ext 102
Re: Multiple single-module projects vs one multi-module project
Posted by Guillaume Polet <gu...@gmail.com>.
You can create a pom project declaring those dependencies and then add a
dependency toward that pom project in each project (don't forget to
specify <type>pom</type> when declaring that dependency.
Cheers,
Guillaume
Le 28/09/2011 06:52, Behrang Saeedzadeh a écrit :
> Thanks for affirming this Ron. By the way, how do you ensure that all
> those projects depend on the same set of external dependences without
> duplicating the information for each POM?
>
> Cheers,
> Behrang Saeedzadeh
> http://www.behrang.org
>
>
>
> On Tue, Sep 27, 2011 at 2:17 AM, Ron Wheeler
> <rw...@artifact-software.com> wrote:
>> I agree.
>>
>> 4- better visibility into the project for the manager. You know which
>> modules are being changed and which ones are supposed to remain unchanged.
>> You also get a bit of a warning about scope issues or potential problems
>> when a new module gets added to the list of things that need changing after
>> the development plan has been set.
>>
>> 5- more sense of responsibility for testing and the deploying of new
>> SNAPSHOTs and releases. The functional definition of the module tends to be
>> clearer if it is deployed to the team even if it is only a SNAPSHOT. The
>> team expects a personal guaranty to go with a deploy.
>> This tends to make programmers more careful about testing and documenting
>> functionality of stubs and SNAPSHOTs with partial functionality as well as
>> fully functional modules.
>>
>> Ron
>>
>> On 26/09/2011 11:48 AM, Behrang Saeedzadeh wrote:
>>> Hi,
>>>
>>> For large projects, wouldn't multiple single module projects work better
>>> than one multi-module project, because:
>>>
>>> 1- when using a dvcs, the repositories tend to become very large and when
>>> the project is divided into multiple single module projects, each project
>>> can have a small dvcs repository compared to one large monolithic repo.
>>> 2- new developers can be exposed only to the subset of projects that they
>>> need to work with
>>> 3- finer grained security over which developers can see which parts of the
>>> project
>>>
>>> Thanks in advance,
>>> Behrang
>>>
>>
>> --
>> Ron Wheeler
>> President
>> Artifact Software Inc
>> email: rwheeler@artifact-software.com
>> skype: ronaldmwheeler
>> phone: 866-970-2435, ext 102
>>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: Multiple single-module projects vs one multi-module project
Posted by Behrang Saeedzadeh <be...@gmail.com>.
Thanks for affirming this Ron. By the way, how do you ensure that all
those projects depend on the same set of external dependences without
duplicating the information for each POM?
Cheers,
Behrang Saeedzadeh
http://www.behrang.org
On Tue, Sep 27, 2011 at 2:17 AM, Ron Wheeler
<rw...@artifact-software.com> wrote:
> I agree.
>
> 4- better visibility into the project for the manager. You know which
> modules are being changed and which ones are supposed to remain unchanged.
> You also get a bit of a warning about scope issues or potential problems
> when a new module gets added to the list of things that need changing after
> the development plan has been set.
>
> 5- more sense of responsibility for testing and the deploying of new
> SNAPSHOTs and releases. The functional definition of the module tends to be
> clearer if it is deployed to the team even if it is only a SNAPSHOT. The
> team expects a personal guaranty to go with a deploy.
> This tends to make programmers more careful about testing and documenting
> functionality of stubs and SNAPSHOTs with partial functionality as well as
> fully functional modules.
>
> Ron
>
> On 26/09/2011 11:48 AM, Behrang Saeedzadeh wrote:
>>
>> Hi,
>>
>> For large projects, wouldn't multiple single module projects work better
>> than one multi-module project, because:
>>
>> 1- when using a dvcs, the repositories tend to become very large and when
>> the project is divided into multiple single module projects, each project
>> can have a small dvcs repository compared to one large monolithic repo.
>> 2- new developers can be exposed only to the subset of projects that they
>> need to work with
>> 3- finer grained security over which developers can see which parts of the
>> project
>>
>> Thanks in advance,
>> Behrang
>>
>
>
> --
> Ron Wheeler
> President
> Artifact Software Inc
> email: rwheeler@artifact-software.com
> skype: ronaldmwheeler
> phone: 866-970-2435, ext 102
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: Multiple single-module projects vs one multi-module project
Posted by Ron Wheeler <rw...@artifact-software.com>.
I agree.
4- better visibility into the project for the manager. You know which
modules are being changed and which ones are supposed to remain
unchanged. You also get a bit of a warning about scope issues or
potential problems when a new module gets added to the list of things
that need changing after the development plan has been set.
5- more sense of responsibility for testing and the deploying of new
SNAPSHOTs and releases. The functional definition of the module tends to
be clearer if it is deployed to the team even if it is only a SNAPSHOT.
The team expects a personal guaranty to go with a deploy.
This tends to make programmers more careful about testing and
documenting functionality of stubs and SNAPSHOTs with partial
functionality as well as fully functional modules.
Ron
On 26/09/2011 11:48 AM, Behrang Saeedzadeh wrote:
> Hi,
>
> For large projects, wouldn't multiple single module projects work better
> than one multi-module project, because:
>
> 1- when using a dvcs, the repositories tend to become very large and when
> the project is divided into multiple single module projects, each project
> can have a small dvcs repository compared to one large monolithic repo.
> 2- new developers can be exposed only to the subset of projects that they
> need to work with
> 3- finer grained security over which developers can see which parts of the
> project
>
> Thanks in advance,
> Behrang
>
--
Ron Wheeler
President
Artifact Software Inc
email: rwheeler@artifact-software.com
skype: ronaldmwheeler
phone: 866-970-2435, ext 102