#!/bin/bash # Path to the Google Java Formatter JAR FORMATTER_JAR="$HOME/.local/share/java/google-java-format.jar" # Download the Google Java Formatter JAR if it doesn't exist if [ ! -f "$FORMATTER_JAR" ]; then echo "Downloading Google Java Formatter..." mkdir -p "$(dirname "$FORMATTER_JAR")" curl -L -o "$FORMATTER_JAR" https://github.com/google/google-java-format/releases/download/v1.20.0/google-java-format-1.20.0-all-deps.jar fi # Format all staged Java files STAGED_JAVA_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep "\.java$") if [ -n "$STAGED_JAVA_FILES" ]; then echo "Formatting Java files..." java -jar "$FORMATTER_JAR" --skip-sorting-imports --skip-reflowing-long-strings --aosp --replace $STAGED_JAVA_FILES # Re-stage the formatted files git add $STAGED_JAVA_FILES fi exit 0