Repository navigation
Expand file tree
/
Copy pathgoogle-java-format.sh
More file actions
executable file
·66 lines (55 loc) · 1.56 KB
/
Copy pathgoogle-java-format.sh
File metadata and controls
executable file
·66 lines (55 loc) · 1.56 KB
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
65
66
#!/bin/bash
# Array of glob patterns
glob_patterns=(
"samples/react-native/android/app/src/**/*.java"
"packages/core/android/**/*.java"
"performance-tests/TestAppPlain/android/app/src/**/*.java"
"performance-tests/TestAppSentry/android/app/src/**/*.java"
)
# Check if an argument is provided
if [ $# -eq 0 ]; then
echo "Usage: $0 <fix|lint>"
exit 1
fi
# Set the mode based on the first argument
mode=$1
# Base command
base_cmd="npx google-java-format"
# Add --replace flag if mode is 'fix'
if [ "$mode" = "fix" ]; then
base_cmd+=" --replace"
elif [ "$mode" = "lint" ]; then
base_cmd+=" --set-exit-if-changed"
if [ "$CI" = "true" ]; then
echo "Running in CI mode, replacing files."
base_cmd+=" --replace"
fi
else
echo "Invalid mode. Use 'fix' or 'lint'."
exit 1
fi
# Variable to track if any command failed
any_failed=0
# Loop through the glob patterns and execute the command
for pattern in "${glob_patterns[@]}"; do
cmd="$base_cmd --glob='$pattern'"
echo "Executing: $cmd"
eval $cmd >> /dev/null
# Check the exit status of the command
if [ $? -ne 0 ]; then
echo "Command failed: $cmd"
any_failed=1
fi
done
if [ "$CI" = "true" ]; then
# Print git patch for currently changed tracked files
echo "Printing git patch for currently changed tracked files:"
git diff --patch --exit-code || true
fi
# Exit with code 1 if any command failed
if [ $any_failed -eq 1 ]; then
echo "One or more commands failed."
exit 1
fi
echo "All commands completed successfully."
exit 0