diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1c2d52b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea/* diff --git a/epicbox-java/11/Dockerfile b/epicbox-java/11/Dockerfile new file mode 100644 index 0000000..1cd78c4 --- /dev/null +++ b/epicbox-java/11/Dockerfile @@ -0,0 +1,7 @@ +FROM openjdk:11.0.1-slim +MAINTAINER Stepik Team + +COPY java_lookup_main.sh /usr/local/bin/java_lookup_main.sh +RUN chmod +x /usr/local/bin/java_lookup_main.sh + +RUN useradd -M -d /sandbox sandbox diff --git a/epicbox-java9/java_lookup_main.sh b/epicbox-java/11/java_lookup_main.sh similarity index 100% rename from epicbox-java9/java_lookup_main.sh rename to epicbox-java/11/java_lookup_main.sh diff --git a/epicbox-java9/Dockerfile b/epicbox-java/9/Dockerfile similarity index 100% rename from epicbox-java9/Dockerfile rename to epicbox-java/9/Dockerfile diff --git a/epicbox-java/9/java_lookup_main.sh b/epicbox-java/9/java_lookup_main.sh new file mode 100644 index 0000000..b411051 --- /dev/null +++ b/epicbox-java/9/java_lookup_main.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# Grep *.class files in the given directory to find one with psvm method defined +# Usage: java_lookup_main.sh DIRECTORY_PATH + +PSVM_REGEX="public static( final)? void main\(java\.lang\.String(\[\]|\.\.\.)\)" + +shopt -s nullglob +for f in "$1"/*.class; do + if javap -p "$f" 2> /dev/null | grep -Pq "$PSVM_REGEX"; then + filename=$(basename "$f") + echo -n "${filename%.*}" + exit 0 + fi +done +exit 1