diff --git a/app/client/.husky/check-staged-files.sh b/app/client/.husky/check-staged-files.sh index 07076b46fc..cf456b2339 100644 --- a/app/client/.husky/check-staged-files.sh +++ b/app/client/.husky/check-staged-files.sh @@ -5,24 +5,33 @@ is_client_change=$(git diff --cached --name-only | grep -c "app/client") is_merge_commit=$(git rev-parse -q --verify MERGE_HEAD) +# Function to apply Spotless and only commit staged files +apply_spotless_and_commit_staged_files() { + staged_server_files=$(git diff --cached --name-only | grep "app/server"| sed 's|app/server/||') + mvn spotless:apply + # Check if Spotless succeeded + if [ $? -ne 0 ]; then + echo "Spotless apply failed, Please run mvn spotless:apply" + exit 1 + fi + echo "$staged_server_files" | xargs git add + echo "✔ Spotless applied successfully to server files" +} + if [ "$is_merge_commit" ]; then echo "Skipping server and client checks for merge commit" else if [ "$is_server_change" -ge 1 ]; then - echo "Running Spotless check ..." + echo "Applying Spotless to server files..." pushd app/server > /dev/null - if (mvn spotless:check 1> /dev/null && popd > /dev/null) then - popd - else - echo "Spotless check failed, please run mvn spotless:apply" - exit 1 - fi + apply_spotless_and_commit_staged_files + popd > /dev/null else - echo "Skipping server side check..." + echo "Skipping server side check..." fi - if [ "$is_client_change" -ge 1 ]; then - echo "Running client check ..." + if [ "$is_client_change" -ge 1 ]; then + echo "Running client check..." npx lint-staged --cwd app/client else echo "Skipping client side check..." diff --git a/app/server/pom.xml b/app/server/pom.xml index e384e5c170..6e408cd180 100644 --- a/app/server/pom.xml +++ b/app/server/pom.xml @@ -178,8 +178,6 @@ apply - - compile