1 | #!/bin/bash |
---|
2 | |
---|
3 | |
---|
4 | HELP=0; NEMO_BRAN='trunk'; NPROC=1 |
---|
5 | SVN_URL='https://forge.ipsl.jussieu.fr/nemo/svn' |
---|
6 | |
---|
7 | while [ $# -ne 0 ]; do |
---|
8 | case $1 in |
---|
9 | '-b'|'--branch') NEMO_BRAN=$2; shift 2;; '-d'|'--directory') INSTALL_DIR=$2; shift 2;; |
---|
10 | '-j'|'--job' ) NPROC=$2 ; shift 2;; '-m'|'--machine' ) NEMO_HPCC=$2 ; shift 2;; |
---|
11 | '-h'|'--help' ) HELP=1 ; shift ;; '-u'|'--username' ) SVN_USER=$2 ; shift 2;; |
---|
12 | "*" ) HELP=1 ; shift ;; |
---|
13 | esac |
---|
14 | done |
---|
15 | |
---|
16 | if [[ -z "${INSTALL_DIR}" || -z "${NEMO_HPCC}" || $HELP == 1 ]]; then |
---|
17 | echo 'Error' |
---|
18 | exit 1 |
---|
19 | fi |
---|
20 | |
---|
21 | if [ ${NEMO_BRAN} == 'trunk' ]; then |
---|
22 | svn_bran=${NEMO_BRAN} |
---|
23 | elif [ $( svn ls ${SVN_URL}/branches/2015 | grep -oe "\<${NEMO_BRAN}\>") ]; then |
---|
24 | svn_bran=branches/2015/${NEMO_BRAN} |
---|
25 | else |
---|
26 | printf "\nNEMO branch name \033[0;31m%s\033[0m given is not recognized\n\n" ${NEMO_BRAN} |
---|
27 | echo 'List of existing branches on repository in branches/2015:' |
---|
28 | svn ls ${SVN_URL}/branches/2015 | tr -d / | xargs -n 3 printf "%-35s\t%-35s\t%-35s\n" |
---|
29 | echo |
---|
30 | exit 1 |
---|
31 | fi |
---|
32 | |
---|
33 | printf "\nInstallation of NEMO trusting monitoring in %s on %s branch for %s\n\n" \ |
---|
34 | ${INSTALL_DIR} ${NEMO_BRAN} ${NEMO_HPCC} |
---|
35 | |
---|
36 | echo 'Initial checkout of '${NEMO_BRAN}' branch' |
---|
37 | mkdir -p ${INSTALL_DIR}/${NEMO_BRAN}/NEMOGCM && cd ${INSTALL_DIR}/${NEMO_BRAN}/NEMOGCM |
---|
38 | |
---|
39 | for elmt in 'ARCH' 'CONFIG' 'NEMO' 'EXTERNAL' 'TOOLS' 'TRUST'; do |
---|
40 | rev='' |
---|
41 | printf "%s " $elmt |
---|
42 | [ $elmt == 'TRUST' ] && svn_bran='branches/2015/dev_r5092_CNRS18_TRUST' && rev='-r 5697' |
---|
43 | svn co -q $rev ${SVN_URL}/${svn_bran}/NEMOGCM/$elmt |
---|
44 | done |
---|
45 | |
---|
46 | printf "\n\nCleaning EXTERNAL directory\n" |
---|
47 | cd EXTERNAL |
---|
48 | printf 'Remove ' |
---|
49 | |
---|
50 | for elmt in $( find -maxdepth 1 -type d -name '[^.]*' ); do |
---|
51 | if [ ! $( echo $elmt | grep "AGRIF\|IOIPSL\|fcm" ) ]; then |
---|
52 | printf "%s " $elmt && rm -rf $elmt > /dev/null |
---|
53 | fi |
---|
54 | done |
---|
55 | printf "\n" |
---|
56 | |
---|
57 | |
---|
58 | printf "\nCleaning TOOLS directory\n" |
---|
59 | cd ../TOOLS |
---|
60 | printf 'Remove ' |
---|
61 | |
---|
62 | for elmt in $( find -maxdepth 1 -type d -name '[^.]*' ); do |
---|
63 | if [ ! $( echo $elmt | grep "COMPILE\|maketools\|REBUILD_NEMO" ) ]; then |
---|
64 | printf "%s " $elmt && rm -rf $elmt > /dev/null |
---|
65 | fi |
---|
66 | done |
---|
67 | printf "\n\n" |
---|
68 | |
---|
69 | if [ $( find ../ARCH -name arch-${NEMO_HPCC}.fcm ) ]; then |
---|
70 | echo 'Compile NEMO rebuild tool' |
---|
71 | ./maketools -n REBUILD_NEMO -m ${NEMO_HPCC} -j $NPROC >& /dev/null |
---|
72 | [ $? -eq 0 ] && printf "\033[0;32mOK\033[0m" || printf "\033[0;31mKO\033[0m" |
---|
73 | printf "\n\n" |
---|
74 | else |
---|
75 | printf "\033[0;31mNo arch file found to compile NEMO rebuild tool\033[0m\n\n" |
---|
76 | fi |
---|