FWIW, This is precisely the functionality that the
"generateReleasePoms" flag of the release plugin was intended to
provide.
(Happy New Year from Aus. everyone :)
Cheers,
Brett
On 31/12/2007, at 11:21 PM, Simon Kitching wrote:
Hi All,
John Casey wrote:
Hi everyone,
I'd like to make sure we're all on the same page with the plugin
auto-version resolution stuff that we've been discussing lately (on
the
assembly-plugin vote thread, for one thing). I think it's clear
that we
cannot continue to allow Maven to resolve RELEASE or LATEST meta-
versions
for plugins any more. I'd actually argue that this is bad practice
for ANY
artifact that is to be resolved, including site skins, etc. since
it kills
our ability to deprecate features.
I've read through this complete thread and not seen any proposed
solution
that I like.
How about providing a way to
(a) dump the current dependencies to an external file, and
(b) for any build, optionally specify an external "dependency
versions" file
to use when resolving dependencies.
So, the POM still defines "logical" dependencies, eg "version 2.1 or
greater".
However when a release is about to be made, the release manager:
(1) runs a goal to generate the explicit dependencies file". This file
contains a list of all the
dependencies, and the EXACT version that is currently resolved, eg
not "2.1
or greater", but "2.2-beta-1" for example.
(2) checks this explicit dependencies file in to the VCS
(3) builds the release candidate using the explicit dependencies
file. Maven
dependency resolution then *always* uses the dependencies in the
input file,
rather than its usual "best fit" algorithm.
This seems to allow the POM to still remain abstract about
dependencies (not
being locked down to a particular version) while allowing repeatable
builds.
Building without using the checked-in dependencies file does normal
dependency resolution. However people can also choose to invoke
maven with
the checked-in explicit-dependencies file to create a repeatable
build.
The separate dependencies file seems useful as documentation in its
own
right, rather like the "dependencies report" that can be generated for
websites.
Regards,
Simon
--
View this message in context:
http://www.nabble.com/Remove-auto-resolution-of-plugin-versions-from-Maven-2.1-tp9943861s177p14557013.html
Sent from the Maven Developers mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]