Avatar
😀

Organizations

5 results for Shell
  • For use when you have multiple JVM providers (Apple & Oracle), you want to be able to switch between JDKs for each CLI

    usejava ()
    {
        local sel=$1.jdk
        if [ -x "/Library/Java/JavaVirtualMachines/jdk$sel/Contents/Home/bin/java" -a ! -x "/Library/Java/JavaVirtualMachines/$1/Contents/Home/bin/java" ]
        then
            sel=jdk$sel
        fi
        local base=/Library/Java/JavaVirtualMachines
        if [ -x "/System/Library/Java/JavaVirtualMachines/$sel/Contents/Home/bin/java" ]
        then
            base=/System/Library/Java/JavaVirtualMachines
        fi
        if [ -z "$1" -o ! -x "$base/$sel/Contents/Home/bin/java" ]
        then
            local prefix="Syntax: usejava "
            for i in /Library/Java/JavaVirtualMachines/* /System/Library/Java/JavaVirtualMachines/*
            do
                if [ -x "$i/Contents/Home/bin/java" ]
                then
                    /bin/echo -n "$prefix$(basename $i | sed -e "s/^jdk//;s/\.jdk$//;")"
                    prefix=" | "
                fi
            done
            /bin/echo ""
        else
            if [ -z "$JAVA_HOME" ]
            then
                export PATH=$base/$sel/Contents/Home/bin:$PATH
            else
                export PATH=$(echo $PATH|sed -e "s:$JAVA_HOME/bin:$base/$sel/Contents/Home/bin:g")
            fi
            export JAVA_HOME=$base/$sel/Contents/Home
            echo -n -e "\033]0;$(java -version 2>&1 | sed -e "s/.*\"\(.*\)\".*/Java \1/;q")\007"
        fi
    }
    

    There is additional fun to be had, given that most Java based launchers that try to fix JAVA_HOME when not set will guess the Apple JVM path… so the following Java program can help

    Shell Created Mon, 04 Feb 2013 00:00:00 +0000
  • OK, so a while back I posted my bash script for selecting the maven version to use for the current session http://s.apache.org/FQ2

    Now that I have a Mac for my full time development machine, I thought I would share my version of these functions for Mac users:

    usemvn ()
    {
        if [ -z "$1" -o ! -x "/usr/share/java/maven-$1/bin/mvn" ]
        then
            local prefix="Syntax: usemvn "
            for i in /usr/share/java/maven-*
            do
                if [ -x "$i/bin/mvn" ]; then
                    echo -n "$prefix$(basename $i | sed 's/^maven-//')"
                    prefix=" | "
                fi
            done
            echo ""
        else
            if [ -z "$MAVEN_HOME" ]
            then
                export PATH=/usr/share/java/maven-$1/bin:$PATH
            else
                export PATH=$(echo $PATH|sed -e "s:$MAVEN_HOME/bin:/usr/share/java/maven-$1/bin:g")
            fi
            export MAVEN_HOME=/usr/share/java/maven-$1
        fi
    }
    
    useant ()
    {
        if [ -z "$1" -o ! -x "/usr/share/java/ant-$1/bin/ant" ]
        then
            local prefix="Syntax: useant "
            for i in /usr/share/java/ant-*
            do
                if [ -x "$i/bin/ant" ]; then
                    echo -n "$prefix$(basename $i | sed 's/^ant-//')"
                    prefix=" | "
                fi
            done
            echo ""
        else
            if [ -z "$ANT_HOME" ]
            then
                export PATH=/usr/share/java/ant-$1/bin:$PATH
            else
                export PATH=$(echo $PATH|sed -e "s:$ANT_HOME/bin:/usr/share/java/ant-$1/bin:g")
            fi
            export ANT_HOME=/usr/share/java/ant-$1
        fi
    }
    

    Simply add the above into your ~/.bash_profile and you can use them from any bash shell.

    Shell Created Fri, 25 Mar 2011 00:00:00 +0000
  • #!/bin/bash
    
    URL="$(svn info | sed -n -e '/^URL:/{s/URL: *//p}')"
    ROOT="$(svn info | sed -n -e "/^Repository Root:/{s/Repository Root: *//p}")"
    NEW_PATH="${URL#$ROOT}"
    OLD_URL="$(sed -n '/< *scm *>/,/< *\/scm *>/p' pom.xml | sed -n '/< *connection *>/,/< *\/ *connection *>/{s/.*connection *> *scm:svn:\([^ <]*\)[ <].*/\1/p}')"
    OLD_PATH="${OLD_URL#$ROOT}"
    echo "OLD URL: $OLD_URL"
    echo "NEW URL: $URL"
    echo "ROOT: $ROOT"
    echo "OLD PATH: $OLD_PATH"
    echo "NEW PATH: $NEW_PATH"
    
    sed -i '/< *scm *>/,/< *\/scm *>/{s/'${OLD_PATH//\//\\\/}'/'${NEW_PATH//\//\\\/}'/}' pom.xml
    
    Maven Shell Created Tue, 01 Mar 2011 00:00:00 +0000
  • Works on *nix

    find ~/.m2/repository -type d -name \*-SNAPSHOT -exec rm -rvf {} \;
    

    By searching for the directories we should catch the -YYYYMMDD.HHMMSS format of snapshots also

    Maven Shell Created Mon, 19 Jul 2010 00:00:00 +0000
  • Cool post I just found:http://coldattic.info/shvedsky/pro/blogs/a-foo-walks-into-a-bar/posts/7

    Shell Created Fri, 14 May 2010 00:00:00 +0000