You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Buntingster <bu...@gmail.com> on 2005/08/22 00:19:23 UTC

Standardized Maven Environment

We are looking at standardizing our builds on Maven.  We will have one 
server performing builds for our "official" artifacts.  However, all of 
our developers will also need to be able to build locally for their own 
purposes.  We will be setting up an internal repository for our 
libraries, and we will also have need to write several custom plugins 
for some of our business requirements. 

We will initially be using maven 1 - while we are definitely considering 
maven 2, politics do not allow us to use an unreleased project, and we 
are in desperate need of the dependency management features provided by 
maven.  So, hopefully my solution (at least conceptually) can be applied 
to both maven 1 and maven 2.

My question is this: is there any good way to be sure that my developers 
are running in the same maven environment as our build server?  By this 
I mean primarily the plugins (and their versions) that are installed.  
This becomes especially critical when we have internal plugins that will 
be modified on a more frequent basis.

My current thought is to publish the info available in "maven -i" on a 
central web server, and then write a custom plugin (update-maven-env) 
that our developers can run that will retrieve this information and 
retrieve and update the appropriate plugins.

I was wondering if anyone has any thoughts on this, if there is already 
a solution out there?  Any assistance would be greatly appreciated.

Thanks.

-Jared


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


Re: Standardized Maven Environment

Posted by Brett Porter <br...@gmail.com>.
Hi,

We're planning to build something like this in to Maven2, or at least
document how it should be done. There are a few alternatives.

Your proposed solution sounds like a very good one.

Another common way is for them to check out their installation from
cvs/svn and have a plugin that updates that regularly for them.

Happy to discuss any further thoughts you have on this.

Cheers,
Brett

On 8/22/05, Buntingster <bu...@gmail.com> wrote:
> We are looking at standardizing our builds on Maven.  We will have one
> server performing builds for our "official" artifacts.  However, all of
> our developers will also need to be able to build locally for their own
> purposes.  We will be setting up an internal repository for our
> libraries, and we will also have need to write several custom plugins
> for some of our business requirements.
> 
> We will initially be using maven 1 - while we are definitely considering
> maven 2, politics do not allow us to use an unreleased project, and we
> are in desperate need of the dependency management features provided by
> maven.  So, hopefully my solution (at least conceptually) can be applied
> to both maven 1 and maven 2.
> 
> My question is this: is there any good way to be sure that my developers
> are running in the same maven environment as our build server?  By this
> I mean primarily the plugins (and their versions) that are installed.
> This becomes especially critical when we have internal plugins that will
> be modified on a more frequent basis.
> 
> My current thought is to publish the info available in "maven -i" on a
> central web server, and then write a custom plugin (update-maven-env)
> that our developers can run that will retrieve this information and
> retrieve and update the appropriate plugins.
> 
> I was wondering if anyone has any thoughts on this, if there is already
> a solution out there?  Any assistance would be greatly appreciated.
> 
> Thanks.
> 
> -Jared
> 
> 
> ---------------------------------------------------------------------
> 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: Standardized Maven Environment

Posted by Thomas Van de Velde <th...@gmail.com>.
Sounds like a good tip & trick for mavenbook.org <http://mavenbook.org>

On 8/22/05, Trygve Laugstøl <tr...@codehaus.org> wrote:
> 
> On Mon, Aug 22, 2005 at 02:21:31PM +0200, Thomas Van de Velde wrote:
> > Jared,
> >
> > I've used the solution mentioned by Brett on large projects and it works
> > well. I also place a project.xml and project.properties in the Maven 
> cvs/svn
> > module that holds configuration data common to all applications on a
> > project. Applications then extend this project-level pom with 
> <extends>${
> > maven.home}/project.xml</extends>
> >
> > I would be interested to hear how this issue is being addressed with M2. 
> One
> > solution would be to have a small M2 core that is used to bootstrap your
> > project's POM, which extends a POM located on a web server. E.g. 
> <extends>
> > http://mylocalserver/projectX/project.xml</extends> I believe this is a
> > feature request that has already been submitted for M1 but I am not sure 
> how
> > this would work for associated project.properties files. With M2 this 
> should
> > become simpler as all configuration data is stored in the POM. Please
> > correct me if I am wrong.
> 
> In Maven 2 you have <parent> instead of <extends> like this:
> 
> <parent>
> <groupId>my-group</groupId>
> <artifactId>my-parent</artifactId>
> <version>1.0</version>
> </parent>
> 
> Which is a artifact which can be put in your normal Maven repository.
> 
> --
> Trygve
> 
> 
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (GNU/Linux)
> 
> iD8DBQFDCcT44EbM92cyCUURAv7cAJ0fzSCLcx5q9bdlPkA/wT2sKJGlDQCeNCv2
> XX868RfFHFLPcx8eSs33p5c=
> =hOhl
> -----END PGP SIGNATURE-----
> 
> 
>

Re: Standardized Maven Environment

Posted by Trygve Laugstøl <tr...@codehaus.org>.
On Mon, Aug 22, 2005 at 02:21:31PM +0200, Thomas Van de Velde wrote:
> Jared,
> 
> I've used the solution mentioned by Brett on large projects and it works 
> well. I also place a project.xml and project.properties in the Maven cvs/svn 
> module that holds configuration data common to all applications on a 
> project. Applications then extend this project-level pom with <extends>${
> maven.home}/project.xml</extends>
> 
> I would be interested to hear how this issue is being addressed with M2. One 
> solution would be to have a small M2 core that is used to bootstrap your 
> project's POM, which extends a POM located on a web server. E.g. <extends>
> http://mylocalserver/projectX/project.xml</extends> I believe this is a 
> feature request that has already been submitted for M1 but I am not sure how 
> this would work for associated project.properties files. With M2 this should 
> become simpler as all configuration data is stored in the POM. Please 
> correct me if I am wrong.

In Maven 2 you have <parent> instead of <extends> like this:

  <parent>
    <groupId>my-group</groupId>
    <artifactId>my-parent</artifactId>
    <version>1.0</version>
  </parent>

Which is a artifact which can be put in your normal Maven repository.

--
Trygve

Re: Standardized Maven Environment

Posted by Thomas Van de Velde <th...@gmail.com>.
Jared,

I've used the solution mentioned by Brett on large projects and it works 
well. I also place a project.xml and project.properties in the Maven cvs/svn 
module that holds configuration data common to all applications on a 
project. Applications then extend this project-level pom with <extends>${
maven.home}/project.xml</extends>

I would be interested to hear how this issue is being addressed with M2. One 
solution would be to have a small M2 core that is used to bootstrap your 
project's POM, which extends a POM located on a web server. E.g. <extends>
http://mylocalserver/projectX/project.xml</extends> I believe this is a 
feature request that has already been submitted for M1 but I am not sure how 
this would work for associated project.properties files. With M2 this should 
become simpler as all configuration data is stored in the POM. Please 
correct me if I am wrong.

Thomas

On 8/22/05, Buntingster <bu...@gmail.com> wrote:
> 
> We are looking at standardizing our builds on Maven. We will have one
> server performing builds for our "official" artifacts. However, all of
> our developers will also need to be able to build locally for their own
> purposes. We will be setting up an internal repository for our
> libraries, and we will also have need to write several custom plugins
> for some of our business requirements.
> 
> We will initially be using maven 1 - while we are definitely considering
> maven 2, politics do not allow us to use an unreleased project, and we
> are in desperate need of the dependency management features provided by
> maven. So, hopefully my solution (at least conceptually) can be applied
> to both maven 1 and maven 2.
> 
> My question is this: is there any good way to be sure that my developers
> are running in the same maven environment as our build server? By this
> I mean primarily the plugins (and their versions) that are installed.
> This becomes especially critical when we have internal plugins that will
> be modified on a more frequent basis.
> 
> My current thought is to publish the info available in "maven -i" on a
> central web server, and then write a custom plugin (update-maven-env)
> that our developers can run that will retrieve this information and
> retrieve and update the appropriate plugins.
> 
> I was wondering if anyone has any thoughts on this, if there is already
> a solution out there? Any assistance would be greatly appreciated.
> 
> Thanks.
> 
> -Jared
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
> 
>