forked from SteamDatabase/Protobufs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathto_java.sh
55 lines (40 loc) · 1.3 KB
/
to_java.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
#!/bin/bash
# YOU MAY NEED TO ADD YOUR EXECUTION PERMISSIONS CODE HERE
SRC_DIR=$(pwd)
OUT_DIR="src/main/java"
JavaPackage="in.dragonbra.javasteam.protobufs"
protoc="protoc/bin/protoc"
rm -rf $OUT_DIR
mkdir $OUT_DIR
OUT_DIR_PACKAGE=$(echo $OUT_DIR/$JavaPackage | tr '.' '/')
games=("artifact" "csgo" "dota2" "steam" "tf2" "underlords" "webui")
for game in "${games[@]}"
do
if [[ -d $game ]]
then
echo "------------------------------------------------"
echo "Compiling $game..."
out_dir_game="$OUT_DIR_PACKAGE/$game"
mkdir -p $out_dir_game
for file in $(find $game -name '*.proto')
do
$protoc --proto_path=. --java_out=$out_dir_game $file
done
fi
done
echo "------------------------------------------------"
echo "Fixing java files..."
for file in $(find $OUT_DIR -name '*.java')
do
fileName=$(basename $file)
gameName=$(dirname "${file#"$OUT_DIR/"}")
gameName=$(echo $gameName|tr '/' '.')
# split $nameName . and get the last element
gameName=${gameName##*.}
echo "Processing : $file"
echo "Game Name : $gameName"
echo "FileName : $fileName"
echo "package $JavaPackage.$gameName;\n\n" | cat - "$file" > temp && mv temp "$file"
done
echo "------------------------------------------------"
echo "All done!"