Ersin Er a écrit :
<snip/>
- I want to build version X with the jars that have been used to
create the version. I don't want to change the pom.xml files just
because the remote repository has disapeared or the server name has
been changed to something different. I don't want that somebody -
for any good or bad reason - has modified a pom.xml of any jar just
because he realized that something were wrong when this jar has been
pushed on the maven repository.
That means we *must* have our own private local repository with all
the jars used by a version tagged and stored on subversion, and that
we *NEVER* download a jar from a remote repository. Remote
repository totally break the notion of reliable build.
Forgive me bro but I disagree with this idea. I just think we're not
using maven properly. Maven has it's issues but overall we're not
tuning our build to make it work consistently with updates to plugins
in the repository. We can do better and have some advice from the
other emails I've seen.
...
Using fixed version plugins may not solve the problem totally. First,
Maven plugins are updated frequently (so _generally_ some issues are
fixed) and lots of plugins have version tag ALPHA (well, I am not sure
what this means for maven). Second, I am not sure, when you use a fix
version plugin, whether its transitive dependencies are all
non-snapshot versions or not.
And one another issue maven is that other than breaking the build the
behavior of plugins are changed overtime, like the site plugin (see
the directory project home page title).
Yeah, that's a burden. I don't understand why maven don't gather some
plugins with each of its release, like Eclipse does. For instance, with
Maven 1.0.5, you will get surfire Vx.y.z, etc. If you want to upgrade
your plugins, it's up to you. But in any case, the user *should* be
aware of that, instead of plugins being downloaded without notice -
except a trace on the console -. The decision to download plugins must
be the user decision, not maven. There are certainly ways to do that by
adding properties into maven configuration, but this should be the
default behaviour.
Emmanuel