#!/bin/bash

JAVA_COMPILER=javac
JAVA=java
SUFFIX_SCRIPT=.java
SUFFIX_JAVA=.java
TEMP_DIR=/tmp/java_runner
TEMP_DIR_COMPILED=$TEMP_DIR/compiled

if [ $# == '2' ]
then
	TO_EXECUTE=$2
	VAL=${1//\"/''}
	VAL=${VAL//\'/''}
	echo "ClassPath:$VAL"
	CLASS_PATH=".:$VAL:$TEMP_DIR_COMPILED"
else
	TO_EXECUTE=$1
	CLASS_PATH=".:$TEMP_DIR_COMPILED"
fi

TO_EXECUTE=${TO_EXECUTE//'./'/''}
TO_EXECUTE=${TO_EXECUTE%$SUFFIX_SCRIPT}

# create temp build dir
mkdir "$TEMP_DIR"
mkdir "$TEMP_DIR_COMPILED"

# create java file removing first line
sed -n '2,$ p' "$TO_EXECUTE$SUFFIX_SCRIPT" > "$TEMP_DIR/$TO_EXECUTE$SUFFIX_JAVA"

# compile java file
$JAVA_COMPILER -d "$TEMP_DIR_COMPILED" -cp "$CLASS_PATH" "$TEMP_DIR/$TO_EXECUTE$SUFFIX_JAVA"

# get the name of the file from java file name.

# execute class.
$JAVA -cp "$CLASS_PATH" "$TO_EXECUTE"

# remove .java add .class
rm -rf "$TEMP_DIR"
