Update Groovy libraries to 3.0.23#8095
Conversation
…ult) files
1. Check that tests run clean with the base JDK (for this commit 17)
2. Remove all existing reference files:
find . -regextype egrep -regex '.*\.(occurrences|completion|folds|indexed|semantic|ccresult)' -exec rm {} \;
3. Rebuild the reference files by running unittests
4. Rerun unittests to verify all green
Return type from findAll changed from Collection to List
Workflow:
1. Update the groovy version
2. Remove all reference files:
find . -regextype egrep -regex '.*\.(occurrences|completion|folds|indexed|semantic|ccresult)' -exec rm {} \;
3. Rebuild the reference files by running the unittests with the base
JDK (17 for this commit)
4. Review the difference
5. Commit the change with the updated reference files
6. Add JDK specific variants by:
6a: Removing all existing reference files:
find . -regextype egrep -regex '.*\.(occurrences|completion|folds|indexed|semantic|ccresult)' -exec rm {} \;
6b: Rerun unittests with the target JDK
6c: Move the changed reference files to their version specific name
(21 is the JDK version in this case and needs to be adjusted):
for i in `git status -s | cut --delimiter " " -f 3`; do mv $i ${i%.*}.21.completion; git checkout $i; done
6d: Amend the changes to the base commit
0794d68 to
cb3c105
Compare
|
hmm. I probably should have done this already in #7415 as cleanup, instead of making sure that everything passes between JDK 8 and 17 (even on EOL JDKs). Maintaining golden files only for JDK 17 and 21 is probably fine for the groovy modules. Some tests will likely fail on JDKs 18-20 but the 17k removed lines are very enticing since it would reduce maintenance overhead. should we let CI also test on JDK 21 when Groovy is set? diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 1e5be8f..55b0919 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -1827,7 +1827,9 @@
timeout-minutes: 60
strategy:
matrix:
- java: [ '17' ]
+ java: [ '17', '21' ]
+ exclude:
+ - java: ${{ github.event_name == 'pull_request' && 'nothing' || '21' }}
fail-fast: false
steps: |
|
If noone objects, I intent to merge this next weekend. |
mbien
left a comment
There was a problem hiding this comment.
awesome all green.
you might to have to rebase it, since if I look at the branch the editor module is still on javac.source=1.8, while master is on javac.release=17 - just to be sure this doesn't influence any tests.
|
Tested merge locally - groovy tests run clean there. So lets get this in. Thanks for review @mbien |
Update bundled Groovy to 3.0.23.
To make the real change better visible, in the first commit the reference files (occurrences|completion|folds|indexed|semantic|ccresult) were cleaned up and files for old java versions were dropped. The baseline was raised to JDK 17. In the second step the Groovy update was done, the reference files regenerated for JDK 17 and additional reference files for JDK 21 generated.
The real change can be observed in the changed reference files in the second commit. Only the
findAllmethods gained a more precise return type (fromCollectiontoList).