maker.sh 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #!/bin/bash
  2. #maker_folder=`dirname $0`
  3. maker_folder=/opt/maker/
  4. projecttype=$1
  5. foldername=$2
  6. if [[ -z $projecttype ]]
  7. then
  8. echo "need a project type"
  9. exit
  10. fi
  11. if [ "$projecttype" = "help" ]
  12. then
  13. cd $maker_folder
  14. ls -d1 */ | sed "s/\/$//g"
  15. exit
  16. fi
  17. if [ "$projecttype" = "front" ]
  18. then
  19. $maker_folder/front/main.sh $foldername
  20. exit
  21. fi
  22. if [ "$projecttype" = "fullstack" ]
  23. then
  24. git init $foldername
  25. $maker_folder/fullstack/main.sh $foldername
  26. exit
  27. fi
  28. if [[ -d $maker_folder/$projecttype ]]
  29. then
  30. echo "project type AVAILABLE"
  31. else
  32. echo "project type not available"
  33. exit
  34. fi
  35. if [[ -z $foldername ]]
  36. then
  37. echo "need a folder name"
  38. exit
  39. fi
  40. #mkdir $foldername
  41. git init $foldername
  42. folderpath=`dirname $foldername`
  43. echo "created $foldername at $folderpath"
  44. cp -R $maker_folder/$projecttype/. $folderpath/$foldername
  45. cd $foldername
  46. for i in `grep -ril '$foldername' .`;
  47. do
  48. echo "replacing folder name in $i";
  49. caps=( $foldername )
  50. sed -i "s/\$Foldername/${caps[@]^}/g" $i;
  51. sed -i "s/\$foldername/$foldername/g" $i;
  52. done;
  53. if [[ -f boilerplate.sh ]]
  54. then
  55. echo "executing boilerplate script"
  56. ./boilerplate.sh
  57. rm -f boilerplate.sh
  58. fi
  59. #echo "Don't forget to run \"npm init\" as well as \"npm install\""
  60. echo "done."