@@ -26,26 +26,43 @@ jobs:
26
26
- name : Fetch latest changes
27
27
run : git fetch origin
28
28
29
- # Step 4: Get a list of changed Java files in the PR
30
29
- name : Get changed Java files
31
30
id : changed_files
32
31
run : |
33
32
echo "::group::Changed Java Files"
34
- CHANGED_FILES=$(git diff --name-only origin/${{ github.event.pull_request.base.ref }} | grep '\.java$' || true)
33
+ CHANGED_FILES=$(git diff --name-only origin/master | grep '\.java$' || true)
35
34
echo "$CHANGED_FILES"
36
35
echo "::endgroup::"
37
- echo "CHANGED_FILES=$CHANGED_FILES" >> $GITHUB_ENV
38
- echo $CHANGED_FILES
36
+ # Write the multiline content to a file
37
+ echo " $CHANGED_FILES" > changed_files.txt
39
38
40
- # Step 5: Check formatting of the changed files
39
+ # Step 4: Get a list of changed Java files in the PR
41
40
- name : Check Java file format
42
41
run : |
43
- if [ -z "${{ env.CHANGED_FILES }}" ]; then
42
+ # Check if the changed_files.txt exists
43
+ if [ ! -f changed_files.txt ]; then
44
+ echo "No changed files found."
45
+ exit 0
46
+ fi
47
+
48
+ # Read the multiline content from the file
49
+ CHANGED_FILES=$(cat changed_files.txt)
50
+
51
+ # Ensure there are changed files
52
+ if [ -z "$CHANGED_FILES" ]; then
44
53
echo "No Java files changed."
45
54
else
46
- for FILE in ${{ env.CHANGED_FILES }}; do
47
- FILE_NAME=$(basename "$FILE")
48
- echo "Checking for $FILE_NAME"
49
- mvn formatter:validate -f formatter-pom.xml "-Dformatter.includes=**/$FILE_NAME"
50
- done
55
+ echo "Processing the following changed Java files:"
56
+
57
+ # Iterate over the CHANGED_FILES variable, assuming files are separated by newlines
58
+ while IFS= read -r FILE; do
59
+ # Skip empty lines if any
60
+ if [ -n "$FILE" ]; then
61
+ FILE_NAME=$(basename "$FILE")
62
+ echo "Checking for $FILE_NAME"
63
+
64
+ # Run your formatter validation for each file
65
+ mvn formatter:validate -f formatter-pom.xml "-Dformatter.includes=**/$FILE_NAME"
66
+ fi
67
+ done <<< "$CHANGED_FILES"
51
68
fi
0 commit comments