maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Milos Kleint" <>
Subject Re: [toolchain] some questions
Date Mon, 03 Mar 2008 18:46:21 GMT
On Mon, Mar 3, 2008 at 1:40 PM, Brett Porter <> wrote:
> Hi,
>  In reviewing the toolchain I had some thoughts about the
>  implementation and some questions to ask.
>  Firstly - the toolchains.xml file being separate is handy for working
>  with current versions of Maven. However, I wonder if this should be
>  deprecated in future versions and inserted directly into settings.xml?
>  This will also facilitate the same logic for locating settings in the
>  installation vs. the home directory, the command line overrides and
>  all that sort of thing.

yes, adding it to settings.xml would be nice.
Unfortunately as I understand it (correct me if I'm wrong), once you
need toolchains for one project, you need to put it into settings.xml,
thus you cannot build *any* project with old (up to 3.0.8 now) version
of maven.  Maybe we could allow both locations, keep toolchains.xml
but deprecate it and start using settings.xml (in what version 2.0.9?
or 2.1? or later?)

>  If this is being incorporated into the current Maven release, do we
>  need to add some user-level documentation to the site?

Yes, that's a major deficiency so far. Documentation is missing (I've
started writing some for the maven-toolchains-plugin but haven't gone

>  I wonder if the toolchains plugin should just be merged into the
>  enforcer plugin?

I imagine the jdkVersion rule in the maven-enforcer would be rendered
obsolete by toolchains for sure. It shall not matter what jdk version
the maven build itself is running on.
I'm open to discussion for incorporating into enforcer plugin, however
once the toolchains stuff goes in, the mavenPrerequisite of the
enforcer plugin needs to be bumped to 3.0.9+. If that's fine, it's
fine with me as well I suppose.

>  One concern I have is about introducing the maven-core dependency into
>  so many plugins that will use this - would splitting the API from the
>  implementation be helpful here?

MavenSession is required in plugins to query the toolchains, not sure
how it can be injected in other way than it currently is. it would be
nice to hide it as implementation dependency within toolchains, but
I'm not aware how to achieve that.
Please note that we also advice plugin developers to use
MavenSession.getExecutionProperties() instead of
System.getProperties() for embeddability, so that's another case that
creates dependencies on maven-core.. Maybe the class shall be moved to
other project?



>  Thanks!
>  - Brett
>  --
>  Brett Porter
>  ---------------------------------------------------------------------
>  To unsubscribe, e-mail:
>  For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message