Re: Re: Maven from source - version 2.x or 3.x ?
Jörg Schaible <[email protected]> Thu, 26 May 2011 18:06:15 +0200
| Newsgroups | gmane.linux.gentoo.java |
|---|---|
| Message-ID | <[email protected]> |
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 >> Robert Burrell Donkin wrote: >=20 > <snip> >=20 >>> 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 > eselect edits the symlinks. this switches the maven version for the > entire system. i want to be able to switch maven (and ant and java) > versions for just a terminal. is there some way to make this work with > eselect? Defining aliases? Or use prepend a terminal specific directory to the pat= h=20 where you define your own symlinks. export PATH=3D~/tmp/term-1:$PATH ls ~/tmp/term-1 mvn -> /usr/bin/mvn-2.2 jar -> /usr/lib/jvm/sun-jdk-1.6/bin/jar java -> /usr/lib/jvm/sun-jdk-1.6/bin/java javac -> /usr/lib/jvm/sun-jdk-1.6/bin/javac javah -> /usr/lib/jvm/sun-jdk-1.6/bin/javah For Ant you might create your own slotted ebuilds (maybe as ant-bin to=20 separate from the one provided with Gentoo) and use symlinks again. I am quite sure you can create a little helper script that sets up such=20 links for the current terminal when you provide the version for those=20 packages as argument. Cheers, J=C3=B6rg