|
1 | 1 | #/bin/bash
|
2 | 2 |
|
| 3 | + |
| 4 | +### -------------------------------------------------------------------------------------------- |
| 5 | +### Dependency and other checkings |
| 6 | +### -------------------------------------------------------------------------------------------- |
| 7 | +which uglifyjs 1>/dev/null; if [ $? -ne 0 ]; then |
| 8 | + echo 'Uglifyjs is not installed. You can install it via $ npm install uglify-js -g'; |
| 9 | + exit 1; |
| 10 | +fi |
| 11 | +which tidy 1>/dev/null; if [ $? -ne 0 ]; then |
| 12 | + echo 'Tidy is not installed. You can install it via $ brew tidy'; |
| 13 | + exit 1; |
| 14 | +fi |
| 15 | +if [ $(sfdx force:auth:list --json | wc -l) -le 4 ]; then |
| 16 | + echo "There is no Salesforce Org authentified with sfdx yet. Please register one with (for example) $ sfdx force:auth:web:login"; |
| 17 | + exit 2; |
| 18 | +fi |
| 19 | +if [ $(sfdx config:get defaultusername --json | grep 'value' | wc -l) -eq 0 ]; then |
| 20 | + echo "There is no Salesforce Default Username defined with sfdx yet. Please register one with $ sfdx config:set defaultusername=<username>"; |
| 21 | + exit 3; |
| 22 | +fi |
| 23 | + |
| 24 | + |
| 25 | + |
| 26 | +### -------------------------------------------------------------------------------------------- |
| 27 | +### Argument for this script checkings |
| 28 | +### -------------------------------------------------------------------------------------------- |
| 29 | + |
3 | 30 | UGLIFY_MODE="$1"
|
4 | 31 | UGLIFY_MODE_ON="on"
|
5 | 32 | UGLIFY_MODE_OFF="off"
|
|
12 | 39 | fi
|
13 | 40 | echo ""
|
14 | 41 |
|
15 |
| -### ----------------------- |
16 |
| -### JAVASCRIPT PART |
17 |
| -### ----------------------- |
18 | 42 |
|
19 |
| -for f in build/src/javascript/orgcheck/OrgCheck.*.js; do |
| 43 | + |
| 44 | +### -------------------------------------------------------------------------------------------- |
| 45 | +### Javascript and static resource build |
| 46 | +### -------------------------------------------------------------------------------------------- |
| 47 | + |
| 48 | +echo "Javascript build..." |
| 49 | +for f in build/src/javascript/orgcheck/OrgCheck.*.js build/src/javascript/orgcheck/OrgCheck.js; do |
| 50 | + echo " - $f" |
20 | 51 | if [ "${UGLIFY_MODE}" == "${UGLIFY_MODE_ON}" ]; then
|
21 | 52 | uglifyjs --ie --webkit --v8 "${f}" -o /tmp/$(basename $f);
|
22 | 53 | else
|
23 | 54 | cat "${f}" > /tmp/$(basename $f);
|
24 | 55 | fi
|
25 | 56 | done
|
26 |
| -for f in build/src/javascript/orgcheck/OrgCheck.js; do |
27 |
| - if [ "${UGLIFY_MODE}" == "${UGLIFY_MODE_ON}" ]; then |
28 |
| - uglifyjs --ie --webkit --v8 "${f}" -o /tmp/$(basename $f) |
29 |
| - else |
30 |
| - cat "${f}" > /tmp/$(basename $f); |
31 |
| - fi |
32 |
| -done |
33 | 57 |
|
34 | 58 | rm -Rf build/tmp/*
|
35 | 59 | rm -Rf build/bin/*
|
36 | 60 | mkdir build/tmp/js
|
37 | 61 | mkdir build/tmp/img
|
38 | 62 |
|
| 63 | +echo " >> into one unique js file" |
39 | 64 | (
|
40 |
| - for f in build/src/javascript/orgcheck/OrgCheck.js; do |
41 |
| - cat /tmp/$(basename $f) |
42 |
| - done |
43 |
| - for f in build/src/javascript/orgcheck/OrgCheck.*.js; do |
| 65 | + for f in build/src/javascript/orgcheck/OrgCheck.js build/src/javascript/orgcheck/OrgCheck.*.js; do |
44 | 66 | cat /tmp/$(basename $f)
|
45 | 67 | done
|
46 | 68 | ) > build/tmp/js/orgcheck.js
|
| 69 | +echo "" |
47 | 70 |
|
48 | 71 | cp build/src/javascript/d3/d3.js build/tmp/js/d3.js
|
49 | 72 | cp build/src/javascript/jsforce/jsforce.js build/tmp/js/jsforce.js
|
50 | 73 | cp build/src/logos/Logo.svg build/tmp/img
|
51 | 74 | cp build/src/logos/Mascot.svg build/tmp/img
|
52 | 75 | cp build/src/logos/Mascot+Animated.svg build/tmp/img
|
53 | 76 |
|
| 77 | +echo "Making a unique zip file" |
54 | 78 | (
|
55 | 79 | cd build/tmp
|
56 | 80 | zip -9 ../bin/OrgCheck_SR.zip -r ./*
|
57 | 81 | )
|
| 82 | +echo "" |
58 | 83 |
|
| 84 | +echo "Transfering the zip into the Salesforce App project" |
59 | 85 | cp build/bin/OrgCheck_SR.zip force-app/main/default/staticresources/OrgCheck_SR.resource
|
| 86 | +echo "" |
60 | 87 |
|
61 | 88 |
|
62 |
| -## https://codeinthehole.com/tips/tips-for-using-a-git-pre-commit-hook/ |
63 |
| -## ln -s ../../pre-commit.sh .git/hooks/pre-commit |
64 |
| - |
65 |
| -##### ln -s ./javascript/build/build-js.sh .git/hooks/pre-commit |
66 |
| - |
67 |
| - |
| 89 | +### -------------------------------------------------------------------------------------------- |
| 90 | +### Custom Labels and Translations build |
| 91 | +### -------------------------------------------------------------------------------------------- |
68 | 92 |
|
69 |
| -### ----------------------- |
70 |
| -### LABELS PART |
71 |
| -### ----------------------- |
| 93 | +echo "Custom labels and translations..." |
72 | 94 |
|
| 95 | +echo " - transfering custom labels (in English) into the Salesforce App project" |
73 | 96 | cat build/src/labels/CustomLabels-copyandpasted.txt \
|
74 | 97 | | sed -e 's/""/"/g' -e 's/^"//' -e 's/"$//' \
|
75 | 98 | > force-app/main/default/labels/CustomLabels.labels-meta.xml
|
76 | 99 |
|
77 |
| - |
78 |
| - |
79 |
| -### ----------------------- |
80 |
| -### TRANSLATIONS PART |
81 |
| -### ----------------------- |
82 |
| - |
| 100 | +echo " - transfering French translations into the Salesforce App project" |
83 | 101 | cat build/src/labels/Translation-FR-copyandpasted.txt \
|
84 | 102 | | sed -e 's/""/"/g' -e 's/^"//' -e 's/"$//' \
|
85 | 103 | > force-app/main/default/translations/fr.translation-meta.xml
|
86 | 104 |
|
| 105 | +echo " - transfering Japanese translations into the Salesforce App project" |
87 | 106 | cat build/src/labels/Translation-JP-copyandpasted.txt \
|
88 | 107 | | sed -e 's/""/"/g' -e 's/^"//' -e 's/"$//' \
|
89 | 108 | > force-app/main/default/translations/ja.translation-meta.xml
|
90 | 109 |
|
| 110 | +echo "" |
91 | 111 |
|
92 |
| - |
93 |
| - |
94 |
| - |
95 |
| -### ----------------------- |
96 |
| -### Generate the TEST page |
97 |
| -### ----------------------- |
| 112 | +echo "Checking if custom labels and translation are correct (the syntax!)" |
98 | 113 | (
|
99 | 114 | echo '<!DOCTYPE html>';
|
100 | 115 | echo '<html>';
|
@@ -137,15 +152,23 @@ cat build/src/labels/Translation-JP-copyandpasted.txt \
|
137 | 152 | done
|
138 | 153 | echo ' </body>';
|
139 | 154 | echo '</html>';
|
140 |
| -) > /tmp/testAll.txt |
141 |
| -tidy /tmp/testAll.txt 2>&1 | grep 'Warning' | grep -v 'character code' | sort -t' ' -k2,2n > /tmp/testWarnings |
142 |
| -if [ $(cat /tmp/testWarnings | wc -l | tr -d ' ') -ne 0 ]; then |
| 155 | +) > /tmp/testAll.html |
| 156 | +tidy /tmp/testAll.html 2>/tmp/testAll.err 1>/dev/null |
| 157 | +cat /tmp/testAll.err | grep -e ' - Warning: ' | grep -v 'character code' | sort -t' ' -k2,2n > /tmp/testWarnings.err |
| 158 | +rm /tmp/testAll.html |
| 159 | +rm /tmp/testAll.err |
| 160 | +if [ $(cat /tmp/testWarnings.err | wc -l | tr -d ' ') -ne 0 ]; then |
143 | 161 | echo "WARNINGS:"
|
144 |
| - cat /tmp/testWarnings |
| 162 | + cat /tmp/testWarnings.err |
| 163 | + rm /tmp/testWarnings.err |
| 164 | + exit 100; |
145 | 165 | fi
|
| 166 | +rm /tmp/testWarnings.err |
| 167 | +echo "OK" |
| 168 | +echo "" |
146 | 169 |
|
147 |
| - |
148 |
| -### ----------------------- |
149 |
| -### PUSH INTO DEV ORG |
150 |
| -### ----------------------- |
151 |
| -### sfdx force:source:deploy -m StaticResource:OrgCheck_OrgCheck_SR,CustomLabels,Translations 1>/dev/null |
| 170 | +### -------------------------------------------------------------------------------------------- |
| 171 | +### If everything is OK push the resulting built items into dev org |
| 172 | +### -------------------------------------------------------------------------------------------- |
| 173 | +echo "Deploying to default org (username=$(sfdx config:get defaultusername --json | grep value | cut -d'"' -f4))" |
| 174 | +sfdx force:source:deploy -m StaticResource,CustomLabels,Translations 1>/dev/null |
0 commit comments