Update diff.groovy to work with latest GROOVY version
Kevin222004 opened this issue · comments
Currently we are using the older groovy version 2.4.8 we should update it with the latest
This is the command line output when we run script on groovy version 4.0.5
kevin@inspiron-15-5510:~/Desktop/check_style/checkstyle/contribution/checkstyle-tester
$ groovy diff.groovy --localGitRepo /home/kevin/Desktop/check_style/checkstyle/checkstyle \
--baseBranch master --patchBranch ParenPad2 \
--config /home/kevin/Desktop/check_style/checkstyle/confinff.xml \
--listOfProjects projects-to-test-on.properties
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/home/kevin/Desktop/check_style/checkstyle/contribution/checkstyle-tester/diff.groovy: 53:
unable to resolve class CliBuilder
@ line 53, column 15.
def cli = new CliBuilder(usage:'groovy diff.groovy [options]', header: ....
^
/home/kevin/Desktop/check_style/checkstyle/contribution/checkstyle-tester/diff.groovy: 650:
unable to resolve class AntBuilder
@ line 650, column 5.
new AntBuilder().replace(
^
/home/kevin/Desktop/check_style/checkstyle/contribution/checkstyle-tester/diff.groovy: 658:
unable to resolve class AntBuilder
@ line 658, column 5.
new AntBuilder().copy(todir: destination) {
^
/home/kevin/Desktop/check_style/checkstyle/contribution/checkstyle-tester/diff.groovy: 664:
unable to resolve class AntBuilder
@ line 664, column 5.
new AntBuilder().move(todir: destination) {
^
/home/kevin/Desktop/check_style/checkstyle/contribution/checkstyle-tester/diff.groovy: 670:
unable to resolve class AntBuilder
@ line 670, column 5.
new AntBuilder().delete(dir: dir, failonerror: false)
^
5 errors
yes we need to update script to work with modern Groovy.
@nrmancuso Since you are always working with CI, is this possibly to upgrade all our CIs to work with the latest groovy? You have a list of possibly things we would need to do for this?
In a perfect world, all the CI we use would allow us to use custom images. Then, we could just keep our checkstyle/jdk-11-groovy-git-mvn:11.0.13__3.0.9__2.25.1__3.6.3
image up to date and use it for all tasks. Ubuntu favors stability over newer packages, so we will require a custom image or package installation in CI (I would rather avoid this in most cases).
Package managers that aren't part of the distro (think sdkman) can be unreliable, and installation of larger packages like java, maven, etc. take a while.
I think we should set up CircleCI in this repo (since it allows custom image usage), and migrate all travis jobs to it. Then we can make a new custom image with newer groovy version, and begin migration of groovy scripts.
@romani @rnveach please setup CircleCI for this repo using this link (if you want to go this route): https://app.circleci.com/settings/project/github/checkstyle/contribution?utm_campaign=locked_project&utm_content=project_dashboard_tooltip&utm_medium=copy_admin_project_set_up_link&utm_source=circleci_onboarding
@nrmancuso I clicked on start building in that link. Let me know if you need anything else.