Re: Re: Maven from source - version 2.x or 3.x ?
Jörg Schaible <[email protected]> Thu, 26 May 2011 17:57:45 +0200
| Newsgroups | gmane.linux.gentoo.java |
|---|---|
| Message-ID | <[email protected]> |
Hi Robert, Robert Burrell Donkin wrote: > On Wed, May 25, 2011 at 5:09 PM, J=C3=B6rg Schaible > <[email protected]> wrote: >> Hi Robert, >=20 > Hi J=C3=B6rg :-) >=20 [snip] >>> >>> AIUI the situation is more complex than that >>> >>> maven seems to be moving towards requiring specific core versions for >>> builds. some projects i develop require maven 2, some maven 3. i >>> manage this situation with a set of custom scripts and installations >>> independent of gentoo. i expect other developers now work in a simila= r >>> way. (same goes for jdks.) the gentoo java stuff just gets in my way >>> now for development. >> >> Why? I have emerged maven:1.0, maven:1.1, maven:2.0, maven:2.2 and >> maven:3.0. I've selected my default version with eselect. However, I c= an >> use any of those versions at the same time: >> >> /usr/bin $ ls -lGgo m*v*n* >> lrwxrwxrwx 1 34 Jan 22 14:07 maven-1.0 -> /usr/share/maven- >> bin-1.0/bin/maven >> lrwxrwxrwx 1 34 Jan 22 14:07 maven-1.1 -> /usr/share/maven- >> bin-1.1/bin/maven >> lrwxrwxrwx 1 7 Jul 19 2010 mvn -> mvn-3.0 >> lrwxrwxrwx 1 32 Apr 30 2010 mvn-2.0 -> >> /usr/share/maven-bin-2.0/bin/mvn lrwxrwxrwx 1 32 Apr 30 2010 mvn-2= .2 >> -> /usr/share/maven-bin-2.2/bin/mvn lrwxrwxrwx 1 32 Mar 10 18:17 >> mvn-3.0 -> /usr/share/maven-bin-3.0/bin/mvn >> >> All that eselect effectively does is to switch the unversioned link. Y= ou >> may call any of those scripts (well, you should not have set MAVEN_HOM= E >> at all, the Maven start script will do this for you anyway). >=20 > Cool. Thanks :-) >=20 > Apache James builds now insists on particular minor versions (mostly > 3.0.3 ATM). This matches the current version for maven-bin-3.0 but I > suppose it should be easy enough to create an overlay or something to > handle minor versions when needed...) I have typically always the latest installed for a specific slot. Never h= ad=20 real problems with this. Apart from that I create my own ebuilds for Mave= n=20 RCs and the like. Actually I don't expect projects that require Maven 2.0= to=20 be really buildable with Maven 2.0.0 ;-) >>> FWIW one unresolved challenge for linux distributions with the rise o= f >>> bytecode languages (such as Java) is that compressed bytecodes are no= t >>> binaries in the usual sense (platform dependent machine executable >>> machine code). i know that it's a hard thing for the linux community >>> to hear but it's about time that the community acknowledged that thes= e >>> languages are now mainstream and stop trying to force them into a >>> inappropriate provisioning model. >> >> To build Maven from source in Gentoo I wonder about the hen-and-egg >> problem. >=20 > +1 >=20 > The scale scares me as well. Loosely coupled systems assembled from > lots of components are becoming the dominant paradigm for bytecode > languages (such as java and ruby). The amount of effort required to > create independent builds for all those libraries is huge for no gain > I know. >=20 > I still believe that there are significant advantages to building > every application from source, and most applications built from > bytecode can be optimised for a platform. But IMHO the bytecode > repository approach is the best way to manage libraries for these > languages. Maven simply does not fit to Gentoo's package philosophy. When you try to= =20 build a complex project from source (like Maven itself), I am quite sure=20 that the build will require e.g. five different versions of commons-lang.= So=20 what to do with it in Gentoo? Create slots for all of these versions? Cre= ate=20 a symlink in a system local Maven repo for all those versions to the one=20 that is actually installed? Who updates these symlinks if the real packag= e=20 is updated? Not to speak that all of this already require a hook into=20 Gentoo's download processing ... and might possibly require calling emerg= e=20 for missing deps that are available as Gentoo package? Luckily this is not *my* can of worms :D Cheers, J=C3=B6rg