Note: Due to technical difficulties, the Archives are currently not up to date.
GMANE provides an alternative service for most mailing lists. c.f. bug 424647
List Archive: gentoo-java
Robert Burrell Donkin wrote:
> On Wed, May 25, 2011 at 5:09 PM, Jörg Schaible
> <joerg.schaible@...> wrote:
>> Hi Robert,
>
> Hi Jörg
>
>> Robert Burrell Donkin wrote:
>
> <snip>
>
>>> 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 similar
>>> 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 can
>> 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. You
>> may call any of those scripts (well, you should not have set MAVEN_HOME
>> at all, the Maven start script will do this for you anyway).
>
> 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 path
where you define your own symlinks.
export PATH=~/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
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
links for the current terminal when you provide the version for those
packages as argument.
Cheers,
Jörg
|
|