This repository has been archived by the owner on Oct 8, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
init.sh
executable file
·64 lines (53 loc) · 2.89 KB
/
init.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/bash
defaultName="GridPro"
defaultNameDashed="pro-grid"
defaultPackage="gridpro"
print_usage_and_exit() {
echo $1
echo
echo "USAGE: $0 <ElementName>"
exit 1
}
if [ -z "$1" ]
then
print_usage_and_exit "Element name not specified"
fi
if ! echo "$1" | grep -qE '^[A-Z]+[a-zA-Z]*$'
then
print_usage_and_exit "Element name should be in camel case starting with a capital letter"
fi
name="$1"
nameDashed=$(echo "$name" | sed 's/\(.\)\([A-Z]\)/\1-\2/g' | tr '[:upper:]' '[:lower:]')
package=$(echo "$name" | tr '[:upper:]' '[:lower:]')
echo Class name: $name
echo Module name: $nameDashed
echo Package name: $package
addon=vaadin-$nameDashed-flow
demo=vaadin-$nameDashed-flow-demo
it=vaadin-$nameDashed-flow-integration-tests
testbench=vaadin-$nameDashed-flow-testbench
echo Moving folders
mv vaadin-$defaultNameDashed-flow $addon
mv vaadin-$defaultNameDashed-flow-demo $demo
mv vaadin-$defaultNameDashed-flow-integration-tests $it
mv vaadin-$defaultNameDashed-flow-testbench $testbench
mv $it/src/main/java/com/vaadin/flow/component/$defaultPackage/ $it/src/main/java/com/vaadin/flow/component/$package/
mv $it/src/test/java/com/vaadin/flow/component/$defaultPackage/ $it/src/test/java/com/vaadin/flow/component/$package/
mv $testbench/src/main/java/com/vaadin/flow/component/$defaultPackage/ $testbench/src/main/java/com/vaadin/flow/component/$package/
mv $demo/src/main/java/com/vaadin/flow/component/$defaultPackage/ $demo/src/main/java/com/vaadin/flow/component/$package/
mv $addon/src/main/java/com/vaadin/flow/component/$defaultPackage/ $addon/src/main/java/com/vaadin/flow/component/$package/
mv $addon/src/test/java/com/vaadin/flow/component/$defaultPackage/ $addon/src/test/java/com/vaadin/flow/component/$package/
echo Renaming files
mv $testbench/src/main/java/com/vaadin/flow/component/$package/testbench/${defaultName}Element.java $testbench/src/main/java/com/vaadin/flow/component/$package/testbench/${name}Element.java
mv $demo/src/main/java/com/vaadin/flow/component/$package/vaadincom/${defaultName}View.java $demo/src/main/java/com/vaadin/flow/component/$package/vaadincom/${name}View.java
mv $addon/src/main/java/com/vaadin/flow/component/$package/$defaultName.java $addon/src/main/java/com/vaadin/flow/component/$package/$name.java
mv $addon/src/test/java/com/vaadin/flow/component/$package/${defaultName}Test.java $addon/src/test/java/com/vaadin/flow/component/$package/${name}Test.java
mv $addon/src/test/java/com/vaadin/flow/component/$package/${defaultName}SerializableTest.java $addon/src/test/java/com/vaadin/flow/component/$package/${name}SerializableTest.java
echo Replacing strings
replace_in_files() {
find LICENSE pom.xml README.md .gitignore .travis.yml "$addon" "$demo" "$it" "$testbench" -type f -execdir perl -pi -e "$1" {} \;
}
replace_in_files "s,$defaultName,$name,g"
replace_in_files "s,vaadin-$defaultNameDashed,vaadin-$nameDashed,g"
replace_in_files "s,$defaultPackage,$package,g"
echo Done!