maker.sh 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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" = "utils" ]
  18. then
  19. shift
  20. $maker_folder/utils/reduxadder.sh "$@"
  21. exit
  22. fi
  23. if [ "$projecttype" = "front" ]
  24. then
  25. $maker_folder/front/main.sh $foldername
  26. exit
  27. fi
  28. if [ "$projecttype" = "fullstack" ]
  29. then
  30. git init $foldername
  31. $maker_folder/fullstack/main.sh $foldername
  32. exit
  33. fi
  34. if [[ -d $maker_folder/$projecttype ]]
  35. then
  36. echo "project type AVAILABLE"
  37. else
  38. echo "project type not available"
  39. exit
  40. fi
  41. if [[ -z $foldername ]]
  42. then
  43. echo "need a folder name"
  44. exit
  45. fi
  46. #mkdir $foldername
  47. git init $foldername
  48. folderpath=`dirname $foldername`
  49. echo "created $foldername at $folderpath"
  50. cp -R $maker_folder/$projecttype/. $folderpath/$foldername
  51. cd $foldername
  52. for i in `grep -ril '$foldername' .`;
  53. do
  54. echo "replacing folder name in $i";
  55. caps=( $foldername )
  56. sed -i "s/\$Foldername/${caps[@]^}/g" $i;
  57. sed -i "s/\$foldername/$foldername/g" $i;
  58. done;
  59. if [[ -f boilerplate.sh ]]
  60. then
  61. echo "executing boilerplate script"
  62. ./boilerplate.sh
  63. rm -f boilerplate.sh
  64. fi
  65. #echo "Don't forget to run \"npm init\" as well as \"npm install\""
  66. echo "done."