diff options
Diffstat (limited to 'home-manager/packages/scripts/deprecated/java_compiler/jj')
-rwxr-xr-x | home-manager/packages/scripts/deprecated/java_compiler/jj | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/home-manager/packages/scripts/deprecated/java_compiler/jj b/home-manager/packages/scripts/deprecated/java_compiler/jj new file mode 100755 index 00000000..6d6a5aed --- /dev/null +++ b/home-manager/packages/scripts/deprecated/java_compiler/jj @@ -0,0 +1,58 @@ +#!/bin/sh +# shellcheck disable=SC2086 +noColor=yes . ./lib + +help() { +cat << EOF +Add all dirs with trailing / + +\$1 = java .class files dir +\$2 = java .jar files dir + +if you want to update libs delete this: +$wd/libs.cache + +EOF +exit 0 +} + + +class=$(mktemp) +jar=$(mktemp) +pwd=$(pwd) + +mkdir "$pwd"/out/cache 2> /dev/null +wd="$pwd"/out/cache +[ "$1" = "-h" ] && help +[ "$1" = "--help" ] && help + +[ -z "$1" ] && error "no args" && help && exit 1 +[ -z "$2" ] && error "no args" && help && exit 1 + +while IFS= read -r i;do + cp "$i" $wd/"$(basename $i)" +done < "$(tmp "find $1 | sed 1d" )" + +while IFS= read -r i;do + if ! grep "^$i$" "$wd"/libs.cache;then + echo "$i" | sed "s|$2||" >> "$wd"/libs.cache + cd $wd + jar -xf "$pwd"/"$i" + cd $pwd + fi +done < "$(tmp "find $2 | sed 1d" )" + +while IFS= read -r a;do + echo "$a" | sed "s|$wd/||" >> $jar +done < "$(tmp "find $wd | sed 1d")" + + + +cd "$wd" || die "No $wd" +jar -c -f myJar.jar -e Main $(cat $jar | tr '\n' ' ') + +mv myJar.jar "$pwd"/out/myJar.jar + +rm $jar +rm $class +if [ -d /tmp/LIB_FILE_TEMP_DIR/ ];then rm -r /tmp/LIB_FILE_TEMP_DIR/; fi |