nicolas de loof wrote:
So my idea would be to (pseudo-code) :
if ( mavenSession.getVersion() > 2.0.9 && source == null)
{
source = 1.5;
}
IMHO, making a default value a function of both the plugin version and
the Maven version introduces unnecessary complexity to the code and
confusion for users.
As a user, would you expect that by merely updating from Maven 2.0.9 to
2.0.10, i.e. a point release, your maven-compiler-plugin, that you
didn't update, changed it's behavior?
And even if we changed the "> 2.0.9" of the pseudo code to a minor
update ">= 2.1.0", how would one communicate this behavior properly to
the user? When I wanted to update my Maven installation, I check out the
release notes of the Maven core. The solution you propose could
introduce another change in people's builds that is beyond the core and
as such not listed in the core's release notes, giving rise to surprises.
For the same reason compiler 2.0.4 could default to 1.6 and so on.
Changing default values, especially for sensitive configuration
parameters, should probably not happen in point releases.
What's your opinion ?
+1 to just change the defaults for source&target to 1.5 in the next
minor release 2.1 of the plugin. Backward-compat is surely nice but I
wouldn't like to see future progress sacrificed for it. Also, even those
bad builds that didn't lock down the plugin version will remain stable
if users employ any recent Maven version (2.0.9 was released over a year
ago).
Benjamin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org