1
- #! /bin/bash
1
+ #! /usr/ bin/env bash
2
2
3
3
# Check that the script is running in correct director by checking that .git and Runtime folders exist
4
4
if [ ! -f " RUNME.sh" ] || [ ! -d " Runtime" ]
8
8
exit 1
9
9
fi
10
10
11
- read -e -p " Company name: " -i " 3D Group" COMPANY_FRIENDLY_NAME
12
- read -e -p " Company name in lower case: " -i " 3d-group" COMPANY
13
- read -e -p
" Unacceptable behavior may be reported at: " -i
" [email protected] " REPORT_EMAIL
14
- read -e -p " Company website: " -i " https://3d.fi" COMPANY_WEBSITE
15
- read -e -p " Repository name: " -i " unity-simple-notifications" REPOSITORY_NAME
16
- read -e -p " Friendly name: " -i " Notifications" FRIENDLY_NAME
17
- read -e -p " Description: " -i " Package for Unity game engine." DESCRIPTION
18
- read -e -p " Unity version: " -i " 2019.4" UNITY_VERSION
11
+ # For reading variable from either command line argument or from user input
12
+ setvar () {
13
+ local varname argument default prompt
14
+ varname=$1 ; argument=$2 ; prompt=$3 ; default=$4
15
+ if [[ $argument ]]; then
16
+ declare -g " $varname " =" $argument "
17
+ elif read -r -e -p " $prompt (${default} ):" " ${varname?} " && [[ -n ${! varname} ]]; then
18
+ return 0
19
+ else
20
+ declare -g " $varname " =" $default "
21
+ fi
22
+ }
23
+
24
+ setvar COMPANY_FRIENDLY_NAME " $1 " " Company name" " 3D Group"
25
+ setvar COMPANY " $2 " " Company name in lower case" " 3d-group"
26
+ setvar REPORT_EMAIL " $3 " " Unacceptable behavior may be reported at" " support@${COMPANY} .com"
27
+ setvar COMPANY_WEBSITE " $4 " " Company website" " https://${COMPANY} .com"
28
+ setvar REPOSITORY_NAME " $5 " " Repository name" " unity-simple-notifications"
29
+ setvar FRIENDLY_NAME " $6 " " Friendly name for project" " Notifications"
30
+ setvar DESCRIPTION " $7 " " Description" " Package for Unity game engine."
31
+ setvar UNITY_VERSION " $8 " " Unity version" " 2021.3.11f1"
19
32
20
33
# Escape special characters for input to be used in sed
21
34
COMPANY_FRIENDLY_NAME=$( echo " $COMPANY_FRIENDLY_NAME " | sed -e ' s/[]\/$*.^[]/\\&/g' ) ;
@@ -33,15 +46,15 @@ echo 'Replacing template strings...'
33
46
YEAR=" $( date +' %Y' ) "
34
47
35
48
# Form sed command and store it into a file. Ran into problems with white spaces when trying to pass this as parameter.
36
- echo " s/{{REPOSITORY_NAME}}/" ${REPOSITORY_NAME} " /g;s/{{FRIENDLY_NAME}}/" ${FRIENDLY_NAME} " /g;s/{{DESCRIPTION}}/" ${DESCRIPTION} " /g;s/{{UNITY_VERSION}}/" ${UNITY_VERSION} " /g;s/{{COMPANY}}/" ${COMPANY} " /g;s/{{COMPANY_FRIENDLY_NAME}}/" ${COMPANY_FRIENDLY_NAME} " /g;s/{{YEAR}}/" ${YEAR} " /g;s/{{COMPANY_WEBSITE}}/" ${COMPANY_WEBSITE} " /g;s/{{REPORT_EMAIL}}/" ${REPORT_EMAIL} " /g" > temp.txt
49
+ echo " s/{{REPOSITORY_NAME}}/" " ${REPOSITORY_NAME} " " /g;s/{{FRIENDLY_NAME}}/" " ${FRIENDLY_NAME} " " /g;s/{{DESCRIPTION}}/" " ${DESCRIPTION} " " /g;s/{{UNITY_VERSION}}/" " ${UNITY_VERSION} " " /g;s/{{COMPANY}}/" " ${COMPANY} " " /g;s/{{COMPANY_FRIENDLY_NAME}}/" " ${COMPANY_FRIENDLY_NAME} " " /g;s/{{YEAR}}/" " ${YEAR} " " /g;s/{{COMPANY_WEBSITE}}/" " ${COMPANY_WEBSITE} " " /g;s/{{REPORT_EMAIL}}/" " ${REPORT_EMAIL} " " /g" > temp.txt
37
50
38
51
( shopt -s globstar dotglob;
39
52
for file in ** ; do
40
53
if [[ -f $file ]] && [[ -w $file ]] && [[ $file != ' RUNME.sh' ]] && [[ $file != ' temp.txt' ]] && [[ $file != Samples/** ]] && [[ $file != .git/** ]]; then
41
54
echo " Altering file ${file} "
42
55
43
56
# Replace template strings inside files
44
- sed -i -f temp.txt " $file "
57
+ sed -i ' ' -f temp.txt " $file "
45
58
46
59
# Replace template strings on file names
47
60
newfile=" $( echo ${file} | sed -f temp.txt) "
@@ -60,14 +73,14 @@ rm CONTRIBUTING.md
60
73
rm LICENSE
61
74
rm package.json
62
75
rm .github/CODEOWNERS
63
- rmdir .github
64
- mv templates/README.md README.md
65
- mv templates/CONTRIBUTING.md CONTRIBUTING.md
66
- mv templates/LICENSE LICENSE
67
- mv templates/package.json package.json
68
- mv templates/.github .github
76
+ rm -rf .github
77
+ mv -f templates/README.md README.md
78
+ mv -f templates/CONTRIBUTING.md CONTRIBUTING.md
79
+ mv -f templates/LICENSE LICENSE
80
+ mv -f templates/package.json package.json
81
+ mv -f templates/.github .github
69
82
70
- rmdir templates
83
+ rm -rf templates
71
84
72
85
echo ' done.'
73
86
rm RUNME.sh
0 commit comments