run-java-in-container.sh 654 B

12345678910111213141516171819202122232425262728
  1. #!/bin/bash
  2. set -e
  3. testDir="$(readlink -f "$(dirname "$BASH_SOURCE")")"
  4. runDir="$(dirname "$(readlink -f "$BASH_SOURCE")")"
  5. image="$1"
  6. # TODO make this work for ibmjava too (jre or sfj -> sdk)
  7. jdk="${image/jre/jdk}"
  8. volume="$(docker volume create)"
  9. trap "docker volume rm '$volume' &> /dev/null" EXIT
  10. # jdk image to build java class
  11. "$runDir/run-in-container.sh" \
  12. --docker-arg "--volume=$volume:/container/" \
  13. -- \
  14. "$testDir" \
  15. "$jdk" \
  16. javac -d /container/ ./container.java
  17. # jre image to run class
  18. "$runDir/run-in-container.sh" \
  19. --docker-arg "--volume=$volume:/container/" \
  20. -- \
  21. "$testDir" \
  22. "$image" \
  23. java -cp /container/ container