Compare commits

...

2 Commits

Author SHA1 Message Date
Jack Forden e0d04b7b3d
Merge 2a9de4d7b2 into 59338eee33 2024-07-02 16:57:17 +12:00
Jack Forden 2a9de4d7b2
Change Java to compiled language to facilitate multi-file
Currently, Piston does not support multi-file Java submissions

This change turns Java into a compiled language, while still maintaining the flexibility of single file submissions.
2024-02-28 17:17:58 -06:00
1 changed files with 34 additions and 0 deletions

34
packages/java/15.0.2/compile vendored Normal file
View File

@ -0,0 +1,34 @@
#!/bin/bash
# Check if exactly one argument is provided
if [ $# -eq 1 ]; then
mv $1 $1.java
filename=$1.java
shift
java $filename "$@"
else
# Initialize an empty array to hold the filenames
declare -a javaFiles
# Loop through each argument
for file in "$@"; do
# Check if the file already ends with .java
if [[ "$file" == *.java ]]; then
# If it does, add it directly to the array
javaFiles+=("$file")
else
# If it doesn't, add .java extension then add to the array
javaFiles+=("${file}.java")
fi
done
# Compile all Java files at once
javac "${javaFiles[@]}"
# Run the compiled Java classes
# Assuming the first argument is the main class file to run
# Remove .java extension from the main class name if present
mainClass="${1%.java}"
# Execute the main class
java "$mainClass"
fi