maven3 support in TC6

Hi,

What type of support was added to support maven3 in teamcity 6?  In the release notes it just states:

Maven3 support

Not sure what that would include, it would have been nice to maybe have a Maven3 build runner like you have one called Maven2.

Thanks,
Jay

4 comments
Comment actions Permalink

Hi Jason,

"Maven3 support" means that Maven runner supports both Maven 2.x and Maven 3.x, unlike TeamCity 5 which has some incompatibility with Maven 3. The runner's name "Maven2" is left by mistake. It will be replaced with "Maven" in the next release (6.0.2).

0
Comment actions Permalink

Thanks for the quick reply, I'm wondering what you suggest for cases where users package their own maven into the maven.jar package in order to propagate settings.xml changes.  This basically keeps everyone at the same version but say you wanted to have some versions on maven2 and some on maven3, would your suggestion be to update the maven home path on the build runner page to point to maven3 if maven2 was packaged in the maven.jar?  Just didn't know if there was an easier way to have both maven2 and maven3 packaged in the update/plugins directory and have a build runner for each (i.e. maven2 and maven3)?  I guess this becomes an issue for you guys whenever they release maven4, etc.  Is there an easy way for us to create our own personal runner or is this all baked into the code and not configuration?  The reason I bring this up is we have builds on different OS's and the paths would be different depending on what OS the build is running on.

Thanks,
Jay

0
Comment actions Permalink

It's possible to propagate any number of maven distributions among all the agents provided they (distributions) have different root folder names. You can put maven 3 on each agent to the folder "maven3", for instance, and it will successfully coexist with the bundled "maven". You can refer to it from the runner settings as %system.agent.home.dir%/plugins/maven3. So a build configuration can be easily tight to a specifc maven version.

From the other hand, If you want agent (not a build configuration) to be tight to a specific maven version for some reason, you can either set M2_HOME on each agent where you want to use a maven other than bundled, or create an agent configuration property pointing to a desired maven. In this case you should put a reference to this property in the runner setttings.

The current runner can handle all this cases quite well. Not sure why you would need two separate runners.

0
Comment actions Permalink

I think what you suggest by using %system.agent.home.dir%/plugins/maven3 in the maven home path in the build runner configuration will suffice.

Thanks,
Jay

0

Please sign in to leave a comment.