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

Reply via email to