checkstyle / contribution

some useful sources that should not stay in main repo but it is good to host them
GNU Lesser General Public License v2.1
49 stars 130 forks source link

Update diff.groovy to work with latest GROOVY version #671

Open Kevin222004 opened 2 years ago

Kevin222004 commented 2 years ago

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
romani commented 1 year ago

yes we need to update script to work with modern Groovy.

rnveach commented 1 year ago

@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?

nrmancuso commented 1 year ago

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.

nrmancuso commented 1 year ago

@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

rnveach commented 1 year ago

@nrmancuso I clicked on start building in that link. Let me know if you need anything else.