diff options
| author | cassio <cassiopc@gmail.com> | 2013-07-02 05:44:46 +0000 |
|---|---|---|
| committer | cassio <cassiopc@gmail.com> | 2013-07-02 05:44:46 +0000 |
| commit | a9aa438ea0558eb0044cf1e54a9190ddb41b65e5 (patch) | |
| tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /boca-1.5.0/doc/problemexamples/problemtemplate/compile/java | |
| parent | 94caebadeb66ad7b453d4258a796979cafb758b0 (diff) | |
| download | boca-a9aa438ea0558eb0044cf1e54a9190ddb41b65e5.tar.gz boca-a9aa438ea0558eb0044cf1e54a9190ddb41b65e5.zip | |
restructuring of boca's git
Diffstat (limited to 'boca-1.5.0/doc/problemexamples/problemtemplate/compile/java')
| -rw-r--r-- | boca-1.5.0/doc/problemexamples/problemtemplate/compile/java | 189 |
1 files changed, 0 insertions, 189 deletions
diff --git a/boca-1.5.0/doc/problemexamples/problemtemplate/compile/java b/boca-1.5.0/doc/problemexamples/problemtemplate/compile/java deleted file mode 100644 index f62215b..0000000 --- a/boca-1.5.0/doc/problemexamples/problemtemplate/compile/java +++ /dev/null @@ -1,189 +0,0 @@ -#!/bin/bash -# //////////////////////////////////////////////////////////////////////////////// -# //BOCA Online Contest Administrator -# // Copyright (C) 2003-2012 by BOCA System (bocasystem@gmail.com) -# // -# // This program is free software: you can redistribute it and/or modify -# // it under the terms of the GNU General Public License as published by -# // the Free Software Foundation, either version 3 of the License, or -# // (at your option) any later version. -# // -# // This program is distributed in the hope that it will be useful, -# // but WITHOUT ANY WARRANTY; without even the implied warranty of -# // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# // GNU General Public License for more details. -# // You should have received a copy of the GNU General Public License -# // along with this program. If not, see <http://www.gnu.org/licenses/>. -# //////////////////////////////////////////////////////////////////////////////// -#Last modified: 21/july/2012 by cassio@ime.usp.br -# -# parameters are: -# $1 source_file -# $2 exe_file (default run.jar) -# $3 timelimit (optional, limit to run all the repetitions, by default only one repetition) -# $4 maximum allowed memory (in MBytes) -# -# the output of the submission should be directed to the standard output -# -# the return code show what happened (according to safeexec): -# 0 ok -# 1 compile error -# 2 runtime error -# 3 timelimit exceeded -# 4 internal error -# 5 parameter error -# 6 internal error -# 7 memory limit exceeded -# 8 security threat -# 9 runtime error -# other_codes are unknown to boca: in this case BOCA will present the -# last line of standard output to the judge - -umask 0022 -if [ "$1" == "" ]; then - echo "parameter problem" - exit 43 -fi -name="$1" -if [ ! -r "$1" ]; then - echo "$1 not found or it's not readable" - exit 44 -fi -id -u bocajail >/dev/null 2>/dev/null -if [ $? == 0 ]; then - bocau=`id -u bocajail` - bocag=`id -g bocajail` - chown bocajail.nogroup . -else - bocau=`id -u nobody` - bocag=`id -g nobody` - chown nobody.nogroup . -fi -if [ "$bocau" == "" -o "$bocag" == "" ]; then - echo "error finding user to run script" - exit 43 -fi - -mkdir -p src -if [ "${name##*.}" == "zip" -a "${name##*.}" == "ZIP" ]; then - unzip "$name" -d src - if [ "${name##*.}" == "zip" ]; then - name=`basename $name .zip` - else - name=`basename $name .ZIP` - fi -else - cp $name src -fi -chown -R $bocau src -chmod -R 700 src - -# this script makes use of safeexec to execute the code with less privilegies -# make sure that directories below are correct. -sf=`which safeexec` -[ -x "$sf" ] || sf=/usr/bin/safeexec -if [ ! -x $sf ]; then - echo "$sf not found or it's not executable" - exit 46 -fi - -time=$4 -if [ "$time" -gt "0" ]; then - let "ttime = $time + 30" -else - time=1 - ttime=30 -fi - -maxm=512 -if [ "$4" != "" -a "$4" -gt "0" ]; then -maxm=$4 -fi - -if [ "$2" == "" ]; then - jarfile=run.jar -else - jarfile=$2 -fi - -cdir=`pwd` -echo "Current directory is $cdir" >&2 - -cat <<EOF > compileit.sh -#!/bin/bash -javac=`which javac` -[ -x "\$javac" ] || javac=/usr/bin/javac -if [ ! -x \$javac ]; then - echo "\$javac not found or it's not executable" - exit 47 -fi -jar=`which jar` -[ -x "\$jar" ] || jar=/usr/bin/jar -if [ ! -x \$jar ]; then - echo "\$jar not found or it's not executable" - exit 47 -fi -export CLASSPATH=.:\$CLASSPATH -cd src -if [ -r "$name" ]; then - \$javac "$name" - echo \$? > ../compileit.retcode -fi -find . -name "*.java" | while read lin; do - \$javac "\$lin" - echo \$? > ../compileit.retcode -done -rm -f ../$jarfile -\$jar cvf ../$jarfile * -exit 0 -EOF -chmod 755 compileit.sh - -echo $cdir | grep -q "/bocajail" -if [ $? == 0 ]; then - cdir=`echo $cdir | sed "s/.*\/bocajail//"` - cat <<EOF > runit.sh -#!/bin/bash -cd "$cdir" -[ -f /proc/cpuinfo ] || /bin/mount -t proc proc /proc -#/bin/mount --bind /dev /dev -[ -d /sys/kernel ] || /bin/mount -t sysfs sysfs /sys - -$sf -r1 -t$time -T$ttime -F256 -u256 -ostdout0 -estderr0 -U$bocau -G$bocag -n0 -C. -f20000 -d20000000 -m20000000 ./compileit.sh -echo \$? > runit.retcode -if [ ! -d /bocajail ]; then - /bin/umount /proc 2>/dev/null - #/bin/umount /dev - /bin/umount /sys 2>/dev/null -fi -EOF - chmod 755 runit.sh - chroot /bocajail "$cdir/runit.sh" - if [ -r runit.retcode ]; then - ret=`cat runit.retcode` - else - ret=99 - fi -else - echo "COMPILATION IS NOT BEING CHROOTED -- THIS IS NOT AN IDEAL SETTING" -# $javac "$name" - $sf -r1 -t$time -T$ttime -F256 -u256 -U$bocau -G$bocag -ostdout0 -estderr0 -n0 -C. -d20000000 -m20000000 ./compileit.sh - ret=$? -fi -if [ -f "stdout0" ]; then - cat "stdout0" -fi -if [ -f "stderr0" ]; then - cat "stderr0" -fi -rm -rf src/ -if [ "$ret" != "0" ]; then - echo "Compilation Error: $ret" - exit $ret -fi -ret=`cat compileit.retcode` -if [ "$ret" != "0" ]; then - echo "Compilation Error: $ret" - ret=1 -fi -exit $ret |