maker.sh 1.2 KB

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