Commit 9c45d512 authored by Guillaume Huard's avatar Guillaume Huard
Browse files

Modif en cours du moteur push/local

parent 381b2ab0
......@@ -24,9 +24,9 @@ permettant d'interagir avec un VPL depuis la ligne de commande.
Pour pouvoir interagir avec un VPL, deux choses sont nécessaires :
- un VPLID : le numéro du VPL, présent dans la partie réglages du VPL (/Edit settings/ puis dans
/Common module settings/. On peut le fournir à la commande =vpladmin= via la variable
/Common module settings/). On peut le fournir à la commande =vpladmin= via la variable
d'environnement =VPLADMIN_ID= ou via l'option =id=.
- un /token/ : spécifique à l'utilisateur, présent les infos utilisateur (/Profile/ puis /Security
- un /token/ : spécifique à l'utilisateur, présent dans les infos utilisateur (/Profile/ puis /Security
keys/ via le menu de réglages, à la rubrique =VPL web service=). On peut le fournir à la commande
=vpladmin= via la variable d'environnement =VPLADMIN_TOKEN= ou via l'option =token=.
......
......@@ -10,17 +10,19 @@ VPLPP=$(dir $(THIS_MAKEFILE))
BASES=Basic_System C_Programming
VPLPP_DIRS=$(addprefix $(VPLPP)/, $(BASES))
VPLPP_LOCAL=$(VPLPP)/local.sh
VPLPP_FILES=$(addsuffix .org, $(VPLPP_DIRS)) $(addsuffix /ef/*, $(VPLPP_DIRS)) $(VPLPP_LOCAL)
VPLPP_VPLADMIN=$(VPLPP)/vpladmin
VPLPP_EF=$(addsuffix /ef/*, $(VPLPP_DIRS))
VPLPP_FILES=$(addsuffix .org, $(VPLPP_DIRS)) $(VPLPP_EF) $(VPLPP_LOCAL) $(VPLPP_VPLADMIN)
LOCAL_SRC=$(wildcard *.org)
LOCAL_DIRS=$(patsubst %.org, %, $(LOCAL_SRC))
WRONG_DIRS=$(addsuffix _wrong, $(LOCAL_DIRS))
LOCALS=$(addsuffix /local.sh, $(LOCAL_DIRS) $(WRONG_DIRS))
LOCALS=$(addsuffix /vpl_execution.sh, $(LOCAL_DIRS) $(WRONG_DIRS))
PUSHES=$(addsuffix /push, $(LOCAL_DIRS) $(WRONG_DIRS))
ifeq ($(MODE),push)
TARGET=push
else
TARGET=local.sh
TARGET=vpl_execution.sh
endif
EMACS=emacs --batch --eval "(progn \
......@@ -52,21 +54,25 @@ debug:
@echo "VPLPP: $(VPLPP)"
$(LOCAL_DIRS): %: %/vpl_id.txt %/$(TARGET)
cd $* && ./local.sh $(MODE)
cd $* && $(VPLPP_LOCAL) $(MODE)
$(WRONG_DIRS): %_wrong: %/vpl_id.txt %_wrong/$(TARGET)
-cp -r $*/vpl_id.txt $*/ef $*/rf $*_wrong
cd $*_wrong && ./local.sh $(MODE)
cd $*_wrong && $(VPLPP_LOCAL) $(MODE)
%/vpl_id.txt: %.org
%/vpl_id.txt: %.org %/intro.html
-if [ -d $* ];then cd $* && rm -r ef rf cf hf 2>/dev/null;fi
$(EMACS) $< --funcall org-babel-execute-buffer
$(EMACS) $< --funcall org-babel-tangle
if [ -d $*_files ];then cp -r $*_files/* $*;fi
$(LOCALS): %/local.sh: $(VPLPP_FILES)
.PRECIOUS: %/intro.html
%/intro.html: %.org
$(EMACS) $< --eval "(org-export-to-file 'html \"$@\" )"
$(LOCALS): %/vpl_execution.sh: $(VPLPP_FILES)
cd $(VPLPP) && make files
cp -r $(VPLPP_FILES) $*
cp -r $(VPLPP_EF) $*
$(PUSHES): %/push: %/local.sh
$(PUSHES): %/push: %/vpl_execution.sh
touch $*/push
#!/bin/bash
#!/usr/bin/env bash
PRECIOUS_FILES="vpl_execution.sh vpl_custom_run.sh vpl_evaluate.pl vpl_evaluate_setup.pl"
VPLPP=$(dirname $0)
VPLADMIN=$VPLPP/vpladmin
usage () {
cat <<EOF
......@@ -29,10 +31,9 @@ then
export VPL_GRADEMAX=${VPL_GRADEMAX-100.0}
local_files=$(echo rf/* cf/* hf/* ef/*)
mkdir local_run
dir=$(dirname $0)
for file in $PRECIOUS_FILES
do
cp -v $dir/$file local_run
cp -v $file local_run
done
for file in $local_files
do
......@@ -42,18 +43,13 @@ then
fi
done
cd local_run
# if [ "$1" = "debug" ]
# then
# echo "set -x" > bashrc
# export BASH_ENV="./bashrc"
# fi
chmod +x ./vpl_execution.sh
exec ./vpl_execution.sh $MODE local $*
else
set -e
ID=$(cat vpl_id.txt)
dest=target/caseine-output
dest=pushed_files
mkdir -p $dest
for dir in ef cf rf
do
......@@ -63,11 +59,6 @@ else
else
mkdir -p $dest/$dir
fi
# empty file not necessary anymore
# if [ -z "$(ls $dest/$dir)" ]
# then
# touch $dest/$dir/empty_file
# fi
done
for file in $(ls cf 2>/dev/null)
do
......@@ -77,6 +68,21 @@ else
do
cp hf/$file $dest/cf
done
push -v $ID
rm -r target
cd $dest
typeset -A category
category[ef]=execution_files
category[cf]=corrected_files
category[rf]=required_files
for dir in ef cf rf
do
files=$(ls $dir 2>/dev/null)
if [ -n "$files" ]
then
cd $dir
$VPLADMIN --id $ID save_${category[$dir]} $files
cd ..
fi
done
cd ..
rm -r $dest
fi
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment