#!/usr/bin/env bash

export JARS_HOME=~/.jenv/jars

# jar locations
export JAVA_JARS_HOME=$JARS_HOME/java
export SCALA_JARS_HOME=$JARS_HOME/scala

# jar lists
export JAVA_JARS_LIST=".:$JAVA_JARS_HOME/\*"
export SCALA_JARS_LIST=".:$JAVA_JARS_HOME/\*:$SCALA_JARS_HOME/\*"

# overrides for jshell, java, etc.
function jshell {
  merge_classpath -cp $(eval "echo $JAVA_JARS_LIST") $@ | xargs -o $(whereis jshell)
}

function scala { # replace --class-path with -cp for Scala only
  merge_classpath -cp $(eval "echo $SCALA_JARS_LIST") $@ | \
  sed 's/--class-path/-cp/' | xargs -o $SCALA_HOME/bin/scala
}

function java {
  merge_classpath -cp $(eval "echo $JAVA_JARS_LIST") $@ | xargs -o $JAVA_HOME/bin/java
}

function derby {
  java org.apache.derby.tools.ij
}