se-edu / addressbook-level3

:ab::three: Address Book sample application (Level 3)
https://se-education.org/addressbook-level3
MIT License
28 stars 415 forks source link

Upgrade Gradle to 7.4 #123

Closed yhtMinceraft1010X closed 2 years ago

yhtMinceraft1010X commented 2 years ago

In the Gradle Compatibility Matrix, it is mentioned that the first Gradle version to support Java 17 is 7.3. However, 7.4 is the latest version.

In line with a future migration to Java 17, I propose upgrading Gradle first.

damithc commented 2 years ago

Thanks for the proposal @yhtMinceraft1010X Another project we can attempt during the summer. You are welcome to attempt it earlier though (we can delay the merging until the semester is over), Note that https://github.com/se-edu/duke needs to be updated around the same time so that both uses the same version of Gradle.

yhtMinceraft1010X commented 2 years ago

These are my proposed changes, applied to both Duke and AB3:

There are also newer versions of dependencies such as jackson-databind having the latest version of 2.13.2.2 and JUnit being at version 5.8.2. Should we raise them as separate issues?

damithc commented 2 years ago

There are also newer versions of dependencies such as jackson-databind having the latest version of 2.13.2.2 and JUnit being at version 5.8.2. Should we raise them as separate issues?

@yhtMinceraft1010X For the moment, we can indicate them as checkboxes in the same issue if you think they are all related, especially if they are dependent of each other.

yhtMinceraft1010X commented 2 years ago

@yhtMinceraft1010X For the moment, we can indicate them as checkboxes in the same issue if you think they are all related, especially if they are dependent of each other.

For the dependencies, the current versions still work with Gradle 7.4.2 so I think they are best addressed in a separate issue.

After trying this out, I noticed that coverage has a line that is incompatible with tasks.register: https://github.com/se-edu/addressbook-level3/blob/865de62540a50cf0690abc36a212eea1e0b4617a/build.gradle#L32-L36

Details provided here. Since this is the only custom task definition, applying task configuration avoidance here may not have significant savings anyway.