Set specific plugin versions for a project - issue in plugin-registry.xml/maven-metada-local.xml
Hi, I have a requirement where I need to specify specific versions for a set of (basic) plugins. Adding the versions to the pom isn't an option because we need to set the plugin versions for a vast number of _unrelated_ builds. As I've found at [1], I've manually created a plugin-registry.xml file with needed plugin versions added. In addition to that, I've created maven-metadata-local.xml file in the m2 repo under the plugin directories, pointing to latest and release versions. But, unfortunately, these specified versions were not picked up by mvn. I needed latest maven-compiler-plugin version 2.3.2, but it always try to use 2.0.2. I've noticed that [1] is somewhat outdated because --check-plugin-latest parameter doesn't available anymore. So, I'm asking, does the plugin-registry.xml is still used by maven? If not what is the mechanism for specifying specific plugin versions (apart from current/parent pom)? (I've seen in some posts that the plugin-registry.xml isn't used anymore, but debug mode shows that mvn retrieves data from that file. ) Apparently, maven-metada-local.xml isn't created automatically for me either. How I can instruct mvn to do that? My plugin-registry.xml is at [2]. (There wasn't a template for that. So, hope the format is correct!). maven-metadata-local.xml of maven-compiler-plugin is at [3]. I'm using official apache maven-2.2.1 build. Your help is much appreciated. [1] http://maven.apache.org/guides/introduction/introduction-to-plugin-registry.html [2] http://pastebin.com/yprQU2D2 [3] http://pastebin.com/Y375dwMg Thanks, --Kasun -- ~~~***'***~~~ Kasun Gajasinghe, University of Moratuwa, Sri Lanka. Blog: http://blog.kasunbg.org Twitter: http://twitter.com/kasunbg - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org
Encoding support with m-assembly-p filtering
Hi, We are facing an issue with projects using resource filtering with m-assembly-p (filtering=true in a fileset). m-assembly-p always use default platform encoding to do filtering. It seems this plugin was forgotten during introduction of project.build.sourceEncoding property [1]. I have written a patch and integration tests to fix the issue [2]. May a commiter review it and give some feedback or apply it. Thanks, Julien [1] http://docs.codehaus.org/display/MAVENUSER/POM+Element+for+Source+File+Encoding [2] http://jira.codehaus.org/browse/MASSEMBLY-561 - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org
Re: Set specific plugin versions for a project - issue in plugin-registry.xml/maven-metada-local.xml
I don't know about plugin-registry.xml, but you can distribute a settings.xml for use with -gs that has an active-by-default profile with a pluginManagement section that does the job. On Mon, Jul 25, 2011 at 3:02 AM, Kasun Gajasinghe kasu...@gmail.com wrote: Hi, I have a requirement where I need to specify specific versions for a set of (basic) plugins. Adding the versions to the pom isn't an option because we need to set the plugin versions for a vast number of _unrelated_ builds. As I've found at [1], I've manually created a plugin-registry.xml file with needed plugin versions added. In addition to that, I've created maven-metadata-local.xml file in the m2 repo under the plugin directories, pointing to latest and release versions. But, unfortunately, these specified versions were not picked up by mvn. I needed latest maven-compiler-plugin version 2.3.2, but it always try to use 2.0.2. I've noticed that [1] is somewhat outdated because --check-plugin-latest parameter doesn't available anymore. So, I'm asking, does the plugin-registry.xml is still used by maven? If not what is the mechanism for specifying specific plugin versions (apart from current/parent pom)? (I've seen in some posts that the plugin-registry.xml isn't used anymore, but debug mode shows that mvn retrieves data from that file. ) Apparently, maven-metada-local.xml isn't created automatically for me either. How I can instruct mvn to do that? My plugin-registry.xml is at [2]. (There wasn't a template for that. So, hope the format is correct!). maven-metadata-local.xml of maven-compiler-plugin is at [3]. I'm using official apache maven-2.2.1 build. Your help is much appreciated. [1] http://maven.apache.org/guides/introduction/introduction-to-plugin-registry.html [2] http://pastebin.com/yprQU2D2 [3] http://pastebin.com/Y375dwMg Thanks, --Kasun -- ~~~***'***~~~ Kasun Gajasinghe, University of Moratuwa, Sri Lanka. Blog: http://blog.kasunbg.org Twitter: http://twitter.com/kasunbg - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org
Re: Set specific plugin versions for a project - issue in plugin-registry.xml/maven-metada-local.xml
Why not define the pluginDependency section in a parent pom, then each of your projects uses this as a parent, and pulls in all the plugin dep versions defined in it (or overrides in project pom if necessary). Seems that would be simplest solution Damian On Mon, Jul 25, 2011 at 7:43 AM, Benson Margulies bimargul...@gmail.comwrote: I don't know about plugin-registry.xml, but you can distribute a settings.xml for use with -gs that has an active-by-default profile with a pluginManagement section that does the job. On Mon, Jul 25, 2011 at 3:02 AM, Kasun Gajasinghe kasu...@gmail.com wrote: Hi, I have a requirement where I need to specify specific versions for a set of (basic) plugins. Adding the versions to the pom isn't an option because we need to set the plugin versions for a vast number of _unrelated_ builds. As I've found at [1], I've manually created a plugin-registry.xml file with needed plugin versions added. In addition to that, I've created maven-metadata-local.xml file in the m2 repo under the plugin directories, pointing to latest and release versions. But, unfortunately, these specified versions were not picked up by mvn. I needed latest maven-compiler-plugin version 2.3.2, but it always try to use 2.0.2. I've noticed that [1] is somewhat outdated because --check-plugin-latest parameter doesn't available anymore. So, I'm asking, does the plugin-registry.xml is still used by maven? If not what is the mechanism for specifying specific plugin versions (apart from current/parent pom)? (I've seen in some posts that the plugin-registry.xml isn't used anymore, but debug mode shows that mvn retrieves data from that file. ) Apparently, maven-metada-local.xml isn't created automatically for me either. How I can instruct mvn to do that? My plugin-registry.xml is at [2]. (There wasn't a template for that. So, hope the format is correct!). maven-metadata-local.xml of maven-compiler-plugin is at [3]. I'm using official apache maven-2.2.1 build. Your help is much appreciated. [1] http://maven.apache.org/guides/introduction/introduction-to-plugin-registry.html [2] http://pastebin.com/yprQU2D2 [3] http://pastebin.com/Y375dwMg Thanks, --Kasun -- ~~~***'***~~~ Kasun Gajasinghe, University of Moratuwa, Sri Lanka. Blog: http://blog.kasunbg.org Twitter: http://twitter.com/kasunbg - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org
Re: Set specific plugin versions for a project - issue in plugin-registry.xml/maven-metada-local.xml
err...pluginManagement section even ;) Damian On Mon, Jul 25, 2011 at 8:02 AM, Damian Bradicich dbradic...@sonatype.comwrote: Why not define the pluginDependency section in a parent pom, then each of your projects uses this as a parent, and pulls in all the plugin dep versions defined in it (or overrides in project pom if necessary). Seems that would be simplest solution Damian On Mon, Jul 25, 2011 at 7:43 AM, Benson Margulies bimargul...@gmail.comwrote: I don't know about plugin-registry.xml, but you can distribute a settings.xml for use with -gs that has an active-by-default profile with a pluginManagement section that does the job. On Mon, Jul 25, 2011 at 3:02 AM, Kasun Gajasinghe kasu...@gmail.com wrote: Hi, I have a requirement where I need to specify specific versions for a set of (basic) plugins. Adding the versions to the pom isn't an option because we need to set the plugin versions for a vast number of _unrelated_ builds. As I've found at [1], I've manually created a plugin-registry.xml file with needed plugin versions added. In addition to that, I've created maven-metadata-local.xml file in the m2 repo under the plugin directories, pointing to latest and release versions. But, unfortunately, these specified versions were not picked up by mvn. I needed latest maven-compiler-plugin version 2.3.2, but it always try to use 2.0.2. I've noticed that [1] is somewhat outdated because --check-plugin-latest parameter doesn't available anymore. So, I'm asking, does the plugin-registry.xml is still used by maven? If not what is the mechanism for specifying specific plugin versions (apart from current/parent pom)? (I've seen in some posts that the plugin-registry.xml isn't used anymore, but debug mode shows that mvn retrieves data from that file. ) Apparently, maven-metada-local.xml isn't created automatically for me either. How I can instruct mvn to do that? My plugin-registry.xml is at [2]. (There wasn't a template for that. So, hope the format is correct!). maven-metadata-local.xml of maven-compiler-plugin is at [3]. I'm using official apache maven-2.2.1 build. Your help is much appreciated. [1] http://maven.apache.org/guides/introduction/introduction-to-plugin-registry.html [2] http://pastebin.com/yprQU2D2 [3] http://pastebin.com/Y375dwMg Thanks, --Kasun -- ~~~***'***~~~ Kasun Gajasinghe, University of Moratuwa, Sri Lanka. Blog: http://blog.kasunbg.org Twitter: http://twitter.com/kasunbg - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org
Re: Set specific plugin versions for a project - issue in plugin-registry.xml/maven-metada-local.xml
On 25 Jul 2011, at 17:13, Benson Margulies bimargul...@gmail.com wrote: I don't know about plugin-registry.xml, but you can distribute a settings.xml for use with -gs that has an active-by-default profile with a pluginManagement section that does the job. Benson, That would do the job though that's not exactly the need. We need the ability to specify the version per plugin, ie using maven-metadata.xml files under each plugin dir (in m2 repo.) I should've more clear in the previous mail. What I've did was trying to activate maven-metadata.XML files by setting the checkLatest tag true in p-r.xml file. Plugin-registryxml then will only contain static plugin versions that will be overridden by maven-metadata.xml files. maven-metadata.xml thing should work, I'm missing something important! The issue of using settings.xml is, settings.xml is owned by maven package. therefore the plugin-packages can't update the settings.xml file later on about the newly installed files. That comes in OS world I guess. Thanks, Kasun Ps: Excuse for spelling mistakes, I'm sending this mail via mobile. Facts were not verified. ~~**~~ Kasun Gajasinghe, University of Moratuwa, Sri Lanka On Mon, Jul 25, 2011 at 3:02 AM, Kasun Gajasinghe kasu...@gmail.com wrote: Hi, I have a requirement where I need to specify specific versions for a set of (basic) plugins. Adding the versions to the pom isn't an option because we need to set the plugin versions for a vast number of _unrelated_ builds. As I've found at [1], I've manually created a plugin-registry.xml file with needed plugin versions added. In addition to that, I've created maven-metadata-local.xml file in the m2 repo under the plugin directories, pointing to latest and release versions. But, unfortunately, these specified versions were not picked up by mvn. I needed latest maven-compiler-plugin version 2.3.2, but it always try to use 2.0.2. I've noticed that [1] is somewhat outdated because --check-plugin-latest parameter doesn't available anymore. So, I'm asking, does the plugin-registry.xml is still used by maven? If not what is the mechanism for specifying specific plugin versions (apart from current/parent pom)? (I've seen in some posts that the plugin-registry.xml isn't used anymore, but debug mode shows that mvn retrieves data from that file. ) Apparently, maven-metada-local.xml isn't created automatically for me either. How I can instruct mvn to do that? My plugin-registry.xml is at [2]. (There wasn't a template for that. So, hope the format is correct!). maven-metadata-local.xml of maven-compiler-plugin is at [3]. I'm using official apache maven-2.2.1 build. Your help is much appreciated. [1] http://maven.apache.org/guides/introduction/introduction-to-plugin-registry.html [2] http://pastebin.com/yprQU2D2 [3] http://pastebin.com/Y375dwMg Thanks, --Kasun -- ~~~***'***~~~ Kasun Gajasinghe, University of Moratuwa, Sri Lanka. Blog: http://blog.kasunbg.org Twitter: http://twitter.com/kasunbg - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org
Re: Set specific plugin versions for a project - issue in plugin-registry.xml/maven-metada-local.xml
On Mon, Jul 25, 2011 at 5:34 PM, Damian Bradicich dbradic...@sonatype.com wrote: err...pluginManagement section even ;) Damian On Mon, Jul 25, 2011 at 8:02 AM, Damian Bradicich dbradic...@sonatype.comwrote: Why not define the pluginDependency section in a parent pom, then each of your projects uses this as a parent, and pulls in all the plugin dep versions defined in it (or overrides in project pom if necessary). Seems that would be simplest solution Since these projects are unrelated, they can't be glued together via a parent pom. Thanks, --Kasun Damian On Mon, Jul 25, 2011 at 7:43 AM, Benson Margulies bimargul...@gmail.comwrote: I don't know about plugin-registry.xml, but you can distribute a settings.xml for use with -gs that has an active-by-default profile with a pluginManagement section that does the job. On Mon, Jul 25, 2011 at 3:02 AM, Kasun Gajasinghe kasu...@gmail.com wrote: Hi, I have a requirement where I need to specify specific versions for a set of (basic) plugins. Adding the versions to the pom isn't an option because we need to set the plugin versions for a vast number of _unrelated_ builds. As I've found at [1], I've manually created a plugin-registry.xml file with needed plugin versions added. In addition to that, I've created maven-metadata-local.xml file in the m2 repo under the plugin directories, pointing to latest and release versions. But, unfortunately, these specified versions were not picked up by mvn. I needed latest maven-compiler-plugin version 2.3.2, but it always try to use 2.0.2. I've noticed that [1] is somewhat outdated because --check-plugin-latest parameter doesn't available anymore. So, I'm asking, does the plugin-registry.xml is still used by maven? If not what is the mechanism for specifying specific plugin versions (apart from current/parent pom)? (I've seen in some posts that the plugin-registry.xml isn't used anymore, but debug mode shows that mvn retrieves data from that file. ) Apparently, maven-metada-local.xml isn't created automatically for me either. How I can instruct mvn to do that? My plugin-registry.xml is at [2]. (There wasn't a template for that. So, hope the format is correct!). maven-metadata-local.xml of maven-compiler-plugin is at [3]. I'm using official apache maven-2.2.1 build. Your help is much appreciated. [1] http://maven.apache.org/guides/introduction/introduction-to-plugin-registry.html [2] http://pastebin.com/yprQU2D2 [3] http://pastebin.com/Y375dwMg Thanks, --Kasun -- ~~~***'***~~~ Kasun Gajasinghe, University of Moratuwa, Sri Lanka. Blog: http://blog.kasunbg.org Twitter: http://twitter.com/kasunbg - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org -- ~~~***'***~~~ Kasun Gajasinghe, University of Moratuwa, Sri Lanka. Blog: http://blog.kasunbg.org Twitter: http://twitter.com/kasunbg - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org
Re: Encoding support with m-assembly-p filtering
I'm looking at this now. Thanks. On 7/25/11 3:27 AM, Julien HENRY wrote: Hi, We are facing an issue with projects using resource filtering with m-assembly-p (filtering=true in a fileset). m-assembly-p always use default platform encoding to do filtering. It seems this plugin was forgotten during introduction of project.build.sourceEncoding property [1]. I have written a patch and integration tests to fix the issue [2]. May a commiter review it and give some feedback or apply it. Thanks, Julien [1] http://docs.codehaus.org/display/MAVENUSER/POM+Element+for+Source+File+Encoding [2] http://jira.codehaus.org/browse/MASSEMBLY-561 - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org -- John Casey Developer, PMC Member - Apache Maven (http://maven.apache.org) Blog: http://www.johnofalltrades.name/ - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org
Re: Set specific plugin versions for a project - issue in plugin-registry.xml/maven-metada-local.xml
But why ? simply have a top level parent pom that is solely for defining your plugin versions (and anything else that may cover all of your projects), you don't need any project specific logic in there. The parent doesn't need to list any of the children that use it (and act as an aggregator), that is just a common use of a parent. Damian On Mon, Jul 25, 2011 at 11:30 AM, Kasun Gajasinghe kasu...@gmail.comwrote: On Mon, Jul 25, 2011 at 5:34 PM, Damian Bradicich dbradic...@sonatype.com wrote: err...pluginManagement section even ;) Damian On Mon, Jul 25, 2011 at 8:02 AM, Damian Bradicich dbradic...@sonatype.comwrote: Why not define the pluginDependency section in a parent pom, then each of your projects uses this as a parent, and pulls in all the plugin dep versions defined in it (or overrides in project pom if necessary). Seems that would be simplest solution Since these projects are unrelated, they can't be glued together via a parent pom. Thanks, --Kasun Damian On Mon, Jul 25, 2011 at 7:43 AM, Benson Margulies bimargul...@gmail.comwrote: I don't know about plugin-registry.xml, but you can distribute a settings.xml for use with -gs that has an active-by-default profile with a pluginManagement section that does the job. On Mon, Jul 25, 2011 at 3:02 AM, Kasun Gajasinghe kasu...@gmail.com wrote: Hi, I have a requirement where I need to specify specific versions for a set of (basic) plugins. Adding the versions to the pom isn't an option because we need to set the plugin versions for a vast number of _unrelated_ builds. As I've found at [1], I've manually created a plugin-registry.xml file with needed plugin versions added. In addition to that, I've created maven-metadata-local.xml file in the m2 repo under the plugin directories, pointing to latest and release versions. But, unfortunately, these specified versions were not picked up by mvn. I needed latest maven-compiler-plugin version 2.3.2, but it always try to use 2.0.2. I've noticed that [1] is somewhat outdated because --check-plugin-latest parameter doesn't available anymore. So, I'm asking, does the plugin-registry.xml is still used by maven? If not what is the mechanism for specifying specific plugin versions (apart from current/parent pom)? (I've seen in some posts that the plugin-registry.xml isn't used anymore, but debug mode shows that mvn retrieves data from that file. ) Apparently, maven-metada-local.xml isn't created automatically for me either. How I can instruct mvn to do that? My plugin-registry.xml is at [2]. (There wasn't a template for that. So, hope the format is correct!). maven-metadata-local.xml of maven-compiler-plugin is at [3]. I'm using official apache maven-2.2.1 build. Your help is much appreciated. [1] http://maven.apache.org/guides/introduction/introduction-to-plugin-registry.html [2] http://pastebin.com/yprQU2D2 [3] http://pastebin.com/Y375dwMg Thanks, --Kasun -- ~~~***'***~~~ Kasun Gajasinghe, University of Moratuwa, Sri Lanka. Blog: http://blog.kasunbg.org Twitter: http://twitter.com/kasunbg - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org -- ~~~***'***~~~ Kasun Gajasinghe, University of Moratuwa, Sri Lanka. Blog: http://blog.kasunbg.org Twitter: http://twitter.com/kasunbg - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org
Re: Set specific plugin versions for a project - issue in plugin-registry.xml/maven-metada-local.xml
On Mon, Jul 25, 2011 at 9:46 PM, Damian Bradicich dbradic...@sonatype.com wrote: But why ? simply have a top level parent pom that is solely for defining your plugin versions (and anything else that may cover all of your projects), you don't need any project specific logic in there. The parent doesn't need to list any of the children that use it (and act as an aggregator), that is just a common use of a parent. This would not work because the parent-pom file you are saying will be static. By static I meant that the parent pom file can not be modified later on after it goes in to the m2 repo. So, when a need arise to add a new plugin version, how it can be done? The way to do this is by maintaining maven-metadata.xml files which exists one per plugin under m2 repo (for example, for maven-compiler-plugin, it's in ~/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata*.xml). This way, I don't have a problem when a new plugin is added to the repo, right? It doesn't really matter whether this can be done via maven-metadata.xml or by some other means. We just need to make the setting details file per-plugin. --Kasun Damian On Mon, Jul 25, 2011 at 11:30 AM, Kasun Gajasinghe kasu...@gmail.comwrote: On Mon, Jul 25, 2011 at 5:34 PM, Damian Bradicich dbradic...@sonatype.com wrote: err...pluginManagement section even ;) Damian On Mon, Jul 25, 2011 at 8:02 AM, Damian Bradicich dbradic...@sonatype.comwrote: Why not define the pluginDependency section in a parent pom, then each of your projects uses this as a parent, and pulls in all the plugin dep versions defined in it (or overrides in project pom if necessary). Seems that would be simplest solution Since these projects are unrelated, they can't be glued together via a parent pom. Thanks, --Kasun Damian On Mon, Jul 25, 2011 at 7:43 AM, Benson Margulies bimargul...@gmail.comwrote: I don't know about plugin-registry.xml, but you can distribute a settings.xml for use with -gs that has an active-by-default profile with a pluginManagement section that does the job. On Mon, Jul 25, 2011 at 3:02 AM, Kasun Gajasinghe kasu...@gmail.com wrote: Hi, I have a requirement where I need to specify specific versions for a set of (basic) plugins. Adding the versions to the pom isn't an option because we need to set the plugin versions for a vast number of _unrelated_ builds. As I've found at [1], I've manually created a plugin-registry.xml file with needed plugin versions added. In addition to that, I've created maven-metadata-local.xml file in the m2 repo under the plugin directories, pointing to latest and release versions. But, unfortunately, these specified versions were not picked up by mvn. I needed latest maven-compiler-plugin version 2.3.2, but it always try to use 2.0.2. I've noticed that [1] is somewhat outdated because --check-plugin-latest parameter doesn't available anymore. So, I'm asking, does the plugin-registry.xml is still used by maven? If not what is the mechanism for specifying specific plugin versions (apart from current/parent pom)? (I've seen in some posts that the plugin-registry.xml isn't used anymore, but debug mode shows that mvn retrieves data from that file. ) Apparently, maven-metada-local.xml isn't created automatically for me either. How I can instruct mvn to do that? My plugin-registry.xml is at [2]. (There wasn't a template for that. So, hope the format is correct!). maven-metadata-local.xml of maven-compiler-plugin is at [3]. I'm using official apache maven-2.2.1 build. Your help is much appreciated. [1] http://maven.apache.org/guides/introduction/introduction-to-plugin-registry.html [2] http://pastebin.com/yprQU2D2 [3] http://pastebin.com/Y375dwMg Thanks, --Kasun -- ~~~***'***~~~ Kasun Gajasinghe, University of Moratuwa, Sri Lanka. Blog: http://blog.kasunbg.org Twitter: http://twitter.com/kasunbg - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org -- ~~~***'***~~~ Kasun Gajasinghe, University of Moratuwa, Sri Lanka. Blog: http://blog.kasunbg.org Twitter: http://twitter.com/kasunbg - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org -- ~~~***'***~~~ Kasun Gajasinghe, University of Moratuwa, Sri Lanka. Blog: http://blog.kasunbg.org Twitter:
Re: Set specific plugin versions for a project - issue in plugin-registry.xml/maven-metada-local.xml
As a general principle, the design of maven is trending toward locking down the versions of plugins for a build. Otherwise, you can't grab an old version of the source from a tag and depend on building it. Therefore, the idea of a separate 'control panel' for plugin versions is not popular. Global settings.xml is about the best you are going to do. Some day, conceivably, even that might stop working, but don't lose sleep over it. On Mon, Jul 25, 2011 at 5:26 PM, Kasun Gajasinghe kasu...@gmail.com wrote: On Mon, Jul 25, 2011 at 9:46 PM, Damian Bradicich dbradic...@sonatype.com wrote: But why ? simply have a top level parent pom that is solely for defining your plugin versions (and anything else that may cover all of your projects), you don't need any project specific logic in there. The parent doesn't need to list any of the children that use it (and act as an aggregator), that is just a common use of a parent. This would not work because the parent-pom file you are saying will be static. By static I meant that the parent pom file can not be modified later on after it goes in to the m2 repo. So, when a need arise to add a new plugin version, how it can be done? The way to do this is by maintaining maven-metadata.xml files which exists one per plugin under m2 repo (for example, for maven-compiler-plugin, it's in ~/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata*.xml). This way, I don't have a problem when a new plugin is added to the repo, right? It doesn't really matter whether this can be done via maven-metadata.xml or by some other means. We just need to make the setting details file per-plugin. --Kasun Damian On Mon, Jul 25, 2011 at 11:30 AM, Kasun Gajasinghe kasu...@gmail.comwrote: On Mon, Jul 25, 2011 at 5:34 PM, Damian Bradicich dbradic...@sonatype.com wrote: err...pluginManagement section even ;) Damian On Mon, Jul 25, 2011 at 8:02 AM, Damian Bradicich dbradic...@sonatype.comwrote: Why not define the pluginDependency section in a parent pom, then each of your projects uses this as a parent, and pulls in all the plugin dep versions defined in it (or overrides in project pom if necessary). Seems that would be simplest solution Since these projects are unrelated, they can't be glued together via a parent pom. Thanks, --Kasun Damian On Mon, Jul 25, 2011 at 7:43 AM, Benson Margulies bimargul...@gmail.comwrote: I don't know about plugin-registry.xml, but you can distribute a settings.xml for use with -gs that has an active-by-default profile with a pluginManagement section that does the job. On Mon, Jul 25, 2011 at 3:02 AM, Kasun Gajasinghe kasu...@gmail.com wrote: Hi, I have a requirement where I need to specify specific versions for a set of (basic) plugins. Adding the versions to the pom isn't an option because we need to set the plugin versions for a vast number of _unrelated_ builds. As I've found at [1], I've manually created a plugin-registry.xml file with needed plugin versions added. In addition to that, I've created maven-metadata-local.xml file in the m2 repo under the plugin directories, pointing to latest and release versions. But, unfortunately, these specified versions were not picked up by mvn. I needed latest maven-compiler-plugin version 2.3.2, but it always try to use 2.0.2. I've noticed that [1] is somewhat outdated because --check-plugin-latest parameter doesn't available anymore. So, I'm asking, does the plugin-registry.xml is still used by maven? If not what is the mechanism for specifying specific plugin versions (apart from current/parent pom)? (I've seen in some posts that the plugin-registry.xml isn't used anymore, but debug mode shows that mvn retrieves data from that file. ) Apparently, maven-metada-local.xml isn't created automatically for me either. How I can instruct mvn to do that? My plugin-registry.xml is at [2]. (There wasn't a template for that. So, hope the format is correct!). maven-metadata-local.xml of maven-compiler-plugin is at [3]. I'm using official apache maven-2.2.1 build. Your help is much appreciated. [1] http://maven.apache.org/guides/introduction/introduction-to-plugin-registry.html [2] http://pastebin.com/yprQU2D2 [3] http://pastebin.com/Y375dwMg Thanks, --Kasun -- ~~~***'***~~~ Kasun Gajasinghe, University of Moratuwa, Sri Lanka. Blog: http://blog.kasunbg.org Twitter: http://twitter.com/kasunbg - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail:
Re: Set specific plugin versions for a project - issue in plugin-registry.xml/maven-metada-local.xml
I'm still not seeing the problem, certainly a specific release of a parent pom would be static, but if you need to update versions, you update the pom and release a new version, then update your projects to use it as necessary. It is a simple workflow, and leaves a single place where all versions are defined, and will give you the least amount of trouble as you are not trying to hack up some local repo metadata to achieve the exact same thing. I mean this is the _exact_ kind of thing maven excels at. You will forever have the release of the parent pom, and will always be able to build older releases of your projects (as i see benson has already mentioned in his latest reply), anyone with simple pom knowledge can update the parent pom to use a new version of plugin A/B/C. But I (like maven) can't force you into anything, just guide you to the best solution ;-) Damian On Mon, Jul 25, 2011 at 5:26 PM, Kasun Gajasinghe kasu...@gmail.com wrote: On Mon, Jul 25, 2011 at 9:46 PM, Damian Bradicich dbradic...@sonatype.com wrote: But why ? simply have a top level parent pom that is solely for defining your plugin versions (and anything else that may cover all of your projects), you don't need any project specific logic in there. The parent doesn't need to list any of the children that use it (and act as an aggregator), that is just a common use of a parent. This would not work because the parent-pom file you are saying will be static. By static I meant that the parent pom file can not be modified later on after it goes in to the m2 repo. So, when a need arise to add a new plugin version, how it can be done? The way to do this is by maintaining maven-metadata.xml files which exists one per plugin under m2 repo (for example, for maven-compiler-plugin, it's in ~/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata*.xml). This way, I don't have a problem when a new plugin is added to the repo, right? It doesn't really matter whether this can be done via maven-metadata.xml or by some other means. We just need to make the setting details file per-plugin. --Kasun Damian On Mon, Jul 25, 2011 at 11:30 AM, Kasun Gajasinghe kasu...@gmail.com wrote: On Mon, Jul 25, 2011 at 5:34 PM, Damian Bradicich dbradic...@sonatype.com wrote: err...pluginManagement section even ;) Damian On Mon, Jul 25, 2011 at 8:02 AM, Damian Bradicich dbradic...@sonatype.comwrote: Why not define the pluginDependency section in a parent pom, then each of your projects uses this as a parent, and pulls in all the plugin dep versions defined in it (or overrides in project pom if necessary). Seems that would be simplest solution Since these projects are unrelated, they can't be glued together via a parent pom. Thanks, --Kasun Damian On Mon, Jul 25, 2011 at 7:43 AM, Benson Margulies bimargul...@gmail.comwrote: I don't know about plugin-registry.xml, but you can distribute a settings.xml for use with -gs that has an active-by-default profile with a pluginManagement section that does the job. On Mon, Jul 25, 2011 at 3:02 AM, Kasun Gajasinghe kasu...@gmail.com wrote: Hi, I have a requirement where I need to specify specific versions for a set of (basic) plugins. Adding the versions to the pom isn't an option because we need to set the plugin versions for a vast number of _unrelated_ builds. As I've found at [1], I've manually created a plugin-registry.xml file with needed plugin versions added. In addition to that, I've created maven-metadata-local.xml file in the m2 repo under the plugin directories, pointing to latest and release versions. But, unfortunately, these specified versions were not picked up by mvn. I needed latest maven-compiler-plugin version 2.3.2, but it always try to use 2.0.2. I've noticed that [1] is somewhat outdated because --check-plugin-latest parameter doesn't available anymore. So, I'm asking, does the plugin-registry.xml is still used by maven? If not what is the mechanism for specifying specific plugin versions (apart from current/parent pom)? (I've seen in some posts that the plugin-registry.xml isn't used anymore, but debug mode shows that mvn retrieves data from that file. ) Apparently, maven-metada-local.xml isn't created automatically for me either. How I can instruct mvn to do that? My plugin-registry.xml is at [2]. (There wasn't a template for that. So, hope the format is correct!). maven-metadata-local.xml of maven-compiler-plugin is at [3]. I'm using official apache maven-2.2.1 build. Your help is much appreciated. [1] http://maven.apache.org/guides/introduction/introduction-to-plugin-registry.html [2] http://pastebin.com/yprQU2D2 [3] http://pastebin.com/Y375dwMg Thanks, --Kasun --
Re: Set specific plugin versions for a project - issue in plugin-registry.xml/maven-metada-local.xml
On Tue, Jul 26, 2011 at 3:33 AM, Benson Margulies bimargul...@gmail.com wrote: As a general principle, the design of maven is trending toward locking down the versions of plugins for a build. Otherwise, you can't grab an old version of the source from a tag and depend on building it. Therefore, the idea of a separate 'control panel' for plugin versions is not popular. Global settings.xml is about the best you are going to do. Some day, conceivably, even that might stop working, but don't lose sleep over it. Yeah? Well I'm not sure about the reasons for the decision of maven devs, but I can tell this. Currently, all poms extend maven Super Pom [1] which contains some set of plugins at the release of maven. Most of the plugins are much older (some from 2007/08) in the super pom. for example, maven-compiler-plugin version is 2.0.2 in the super pom, which is from 2007. So, doesn't having an intermediary layer that will point to newer set of plugins is justified? At least It's ok if maven just picked the latest plugin version installed in the m2 repo which might be set via a setting. Anyway, I just needed to know the current implementation details. To give my two cents, I think the docs need an update especially since maven came to 3.0 era. (Yes, I understand the time constraints. Just expressing my thoughts.) [1] http://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Super_POM Thanks, --Kasun On Mon, Jul 25, 2011 at 5:26 PM, Kasun Gajasinghe kasu...@gmail.com wrote: On Mon, Jul 25, 2011 at 9:46 PM, Damian Bradicich dbradic...@sonatype.com wrote: But why ? simply have a top level parent pom that is solely for defining your plugin versions (and anything else that may cover all of your projects), you don't need any project specific logic in there. The parent doesn't need to list any of the children that use it (and act as an aggregator), that is just a common use of a parent. This would not work because the parent-pom file you are saying will be static. By static I meant that the parent pom file can not be modified later on after it goes in to the m2 repo. So, when a need arise to add a new plugin version, how it can be done? The way to do this is by maintaining maven-metadata.xml files which exists one per plugin under m2 repo (for example, for maven-compiler-plugin, it's in ~/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata*.xml). This way, I don't have a problem when a new plugin is added to the repo, right? It doesn't really matter whether this can be done via maven-metadata.xml or by some other means. We just need to make the setting details file per-plugin. --Kasun Damian On Mon, Jul 25, 2011 at 11:30 AM, Kasun Gajasinghe kasu...@gmail.comwrote: On Mon, Jul 25, 2011 at 5:34 PM, Damian Bradicich dbradic...@sonatype.com wrote: err...pluginManagement section even ;) Damian On Mon, Jul 25, 2011 at 8:02 AM, Damian Bradicich dbradic...@sonatype.comwrote: Why not define the pluginDependency section in a parent pom, then each of your projects uses this as a parent, and pulls in all the plugin dep versions defined in it (or overrides in project pom if necessary). Seems that would be simplest solution Since these projects are unrelated, they can't be glued together via a parent pom. Thanks, --Kasun Damian On Mon, Jul 25, 2011 at 7:43 AM, Benson Margulies bimargul...@gmail.comwrote: I don't know about plugin-registry.xml, but you can distribute a settings.xml for use with -gs that has an active-by-default profile with a pluginManagement section that does the job. On Mon, Jul 25, 2011 at 3:02 AM, Kasun Gajasinghe kasu...@gmail.com wrote: Hi, I have a requirement where I need to specify specific versions for a set of (basic) plugins. Adding the versions to the pom isn't an option because we need to set the plugin versions for a vast number of _unrelated_ builds. As I've found at [1], I've manually created a plugin-registry.xml file with needed plugin versions added. In addition to that, I've created maven-metadata-local.xml file in the m2 repo under the plugin directories, pointing to latest and release versions. But, unfortunately, these specified versions were not picked up by mvn. I needed latest maven-compiler-plugin version 2.3.2, but it always try to use 2.0.2. I've noticed that [1] is somewhat outdated because --check-plugin-latest parameter doesn't available anymore. So, I'm asking, does the plugin-registry.xml is still used by maven? If not what is the mechanism for specifying specific plugin versions (apart from current/parent pom)? (I've seen in some posts that the plugin-registry.xml isn't used anymore, but debug mode shows that mvn retrieves data from that file. ) Apparently, maven-metada-local.xml isn't created automatically for me either. How I can instruct mvn to do that? My
Re: Set specific plugin versions for a project - issue in plugin-registry.xml/maven-metada-local.xml
On Tue, Jul 26, 2011 at 3:58 AM, Damian Bradicich dbradic...@sonatype.com wrote: I'm still not seeing the problem, certainly a specific release of a parent pom would be static, but if you need to update versions, you update the pom and release a new version, then update your projects to use it as necessary. It is a simple workflow, and leaves a single place where all versions are defined, and will give you the least amount of trouble as you are not trying to hack up some local repo metadata to achieve the exact same thing. I mean this is the _exact_ kind of thing maven excels at. You will forever have the release of the parent pom, and will always be able to build older releases of your projects (as i see benson has already mentioned in his latest reply), anyone with simple pom knowledge can update the parent pom to use a new version of plugin A/B/C. As I said, this is a solution, but in our case, unfortunately, only partial. You may have not aware that I'm working on building packages to be installed at system level in Gentoo Linux. The overhead that adds for a new parent pom like this is pretty high. I'll just say that there are complications (such as build-order, which package owns the pom, maven re-installations etc.) when it comes to packaging at operating system level. I have more than enough pom knowledge to update the pom if needed. But our pom handling and maven invocation is automated. Manually, editing the pom with the available plugin versions is much complicated, and may not be possible with the limitations imposed by the system. Anyway, I'm evaluating this solution deeply as well. I'm just looking for the optimal, and elegant solution that maven already has as I figured. In the given solutions, I like this most because this gives the needed control to some extent. But I (like maven) can't force you into anything, just guide you to the best solution ;-) I know, and I respect that. :) Thanks, --Kasun Damian On Mon, Jul 25, 2011 at 5:26 PM, Kasun Gajasinghe kasu...@gmail.com wrote: On Mon, Jul 25, 2011 at 9:46 PM, Damian Bradicich dbradic...@sonatype.com wrote: But why ? simply have a top level parent pom that is solely for defining your plugin versions (and anything else that may cover all of your projects), you don't need any project specific logic in there. The parent doesn't need to list any of the children that use it (and act as an aggregator), that is just a common use of a parent. This would not work because the parent-pom file you are saying will be static. By static I meant that the parent pom file can not be modified later on after it goes in to the m2 repo. So, when a need arise to add a new plugin version, how it can be done? The way to do this is by maintaining maven-metadata.xml files which exists one per plugin under m2 repo (for example, for maven-compiler-plugin, it's in ~/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata*.xml). This way, I don't have a problem when a new plugin is added to the repo, right? It doesn't really matter whether this can be done via maven-metadata.xml or by some other means. We just need to make the setting details file per-plugin. --Kasun Damian On Mon, Jul 25, 2011 at 11:30 AM, Kasun Gajasinghe kasu...@gmail.com wrote: On Mon, Jul 25, 2011 at 5:34 PM, Damian Bradicich dbradic...@sonatype.com wrote: err...pluginManagement section even ;) Damian On Mon, Jul 25, 2011 at 8:02 AM, Damian Bradicich dbradic...@sonatype.comwrote: Why not define the pluginDependency section in a parent pom, then each of your projects uses this as a parent, and pulls in all the plugin dep versions defined in it (or overrides in project pom if necessary). Seems that would be simplest solution Since these projects are unrelated, they can't be glued together via a parent pom. Thanks, --Kasun Damian On Mon, Jul 25, 2011 at 7:43 AM, Benson Margulies bimargul...@gmail.comwrote: I don't know about plugin-registry.xml, but you can distribute a settings.xml for use with -gs that has an active-by-default profile with a pluginManagement section that does the job. On Mon, Jul 25, 2011 at 3:02 AM, Kasun Gajasinghe kasu...@gmail.com wrote: Hi, I have a requirement where I need to specify specific versions for a set of (basic) plugins. Adding the versions to the pom isn't an option because we need to set the plugin versions for a vast number of _unrelated_ builds. As I've found at [1], I've manually created a plugin-registry.xml file with needed plugin versions added. In addition to that, I've created maven-metadata-local.xml file in the m2 repo under the plugin directories, pointing to latest and release versions. But, unfortunately, these specified versions were not picked up by mvn. I needed latest maven-compiler-plugin version 2.3.2,
Re: Is Maven Site Plugin 3.0-beta-4 ready for release?
A thought: since 'extensions' has no 'management' or inheritance control, the use of it is actually harder and more obscure when people want to use other versions. It's far easier to just manage dependencies of the site plugin via pluginManagement. So, I'm in favor of using and documenting dependencies rather than extensions. +1 from me on this, totally agree with Benson here (tho a bit late to the thread) Wayne - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org