Нема описа
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!/bin/bash
  2. #
  3. # Create a Lodel2 instance
  4. #-------------------------
  5. #
  6. # Usage : ./lodel_init.sh instance_name instance_path [lodel2_lib_path]
  7. #
  8. # This script creates a new Lodel2 instance.
  9. #
  10. # It make a copy of install/ directory + some substitution in the instance_settings.py file
  11. # and then it generates dynamic code
  12. #
  13. usage() {
  14. echo "Usage : $0 instance_name instance_dir [lodel_libdir]" 1>&2
  15. exit 1
  16. }
  17. if [ $# -lt 2 ]
  18. then
  19. echo "Not enough arguments" 1>&2
  20. usage
  21. fi
  22. name="$1"
  23. instdir="$2"
  24. libdir="$3"
  25. libdir="${libdir:=$(realpath $(dirname $0))}"
  26. emfilename="em.json"
  27. settings="$instdir/instance_settings.py"
  28. em="$instdir/em.json"
  29. dyncode="$instdir/${name}.py"
  30. if [ -e "$instdir" ]
  31. then
  32. echo "Abording... "$instdir" exists" 1>&2
  33. exit 1
  34. fi
  35. echo "Creating lodel instance directory '$instdir'"
  36. mkdir -pv "$instdir"
  37. cp -v $libdir/install/* $instdir
  38. rm -fv $instdir/__init__.py
  39. sed -i -e "s#LODEL2_LIB_ABS_PATH#$libdir#" "$settings"
  40. sed -i -e "s#LODEL2_INSTANCE_NAME#$name#" "$settings"
  41. echo "Generating dynamic code"
  42. cd "$instdir"
  43. make refreshdyn
  44. echo "Cleaning instance directory"
  45. make clean
  46. echo -e "\nInstance successfully created in $instdir"
  47. echo -e "============================\n"
  48. echo "Now you should edit '$settings' and then run : cd $instdir && make dbinit"