Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump Scala to version 2.13 and scalatest to version 3.2.10 #712

Merged
merged 6 commits into from
Feb 11, 2022

Conversation

CJSmith-0141
Copy link
Contributor

Addresses #678 and partially addresses #684

I also ran configlet sync -u, not sure if that was needed or necessary.

I was not able to get the generation code to work, could someone help bring that home? It might need a re-write.

Help needed on the test generation. Manually editing the tests with these changes works.

- This is from `2.12` -> `2.13`
- Adds `import scala.language.postfixOps` where needed
- Changes test generation for new version of `scalatest`
- This is a change in each `exercise/**/build.sbt`
@CJSmith-0141 CJSmith-0141 marked this pull request as ready for review February 8, 2022 21:24
@CJSmith-0141
Copy link
Contributor Author

looking at the maintainer tracker found here I'm going to assume that @ErikSchierboom or @iHiD could potentially help me complete this PR or point me in the right direction.

@ErikSchierboom
Copy link
Member

ErikSchierboom commented Feb 9, 2022

Thanks a lot!

I also ran configlet sync -u, not sure if that was needed or necessary.

I don't think that was necessary. In fact, could you perhaps remove that commit from this PR and open a separate PR for the syncing update? The update is much appreciated, but we prefer to have PRs do just a single thing.

I was not able to get the generation code to work, could someone help bring that home? It might need a re-write.

We currently don't have any active Scala maintainers. What I would do is to just ignore the generators now and only update the exercises.

- adds missing newlines for `exercises/**/build.sbt`
- imports play-json correctly in `build.sbt`
- `scalatest` is no longer monolithic, specific things must be imported
- `FunSuite` renamed to `AnyFunSuite`
- `FlatSpec` renamed to `AnyFlatSpec`
- `Matchers` used throughout were moved and refactored, these tests use
  `org.scalatest.matchers.should.Matchers`

See the [ScalaTest 3.2.0 release
notes](https://www.scalatest.org/release_notes/3.2.0) for details on
what was deprecated.
@CJSmith-0141
Copy link
Contributor Author

I removed the configlet sync -u commit and added a commit that manually updates the org.scalatest imports and class traits for the exercise tests.

I think another PR to update track requirements in the documentation might be needed, or that might be in scope for this PR. Let me know.

@ErikSchierboom
Copy link
Member

I removed the configlet sync -u commit and added a commit that manually updates the org.scalatest imports and class traits for the exercise tests.

Perfect.

I think another PR to update track requirements in the documentation might be needed, or that might be in scope for this PR. Let me know.

Yes, I think it makes sense to include it in this PR, as it is a related change.

- Added callout to use SDKMAN
- Updated JDK Requirement to be JDK 11
- Updated sbt and Scala requirements
@CJSmith-0141
Copy link
Contributor Author

No worries, added my two cents to docs/INSTALLATION.md

@ErikSchierboom ErikSchierboom merged commit 582a3f5 into exercism:main Feb 11, 2022
@ErikSchierboom
Copy link
Member

Merged! Thanks a lot.

@ErikSchierboom ErikSchierboom added the x:size/massive Massive amount of work label Feb 11, 2022
@ErikSchierboom
Copy link
Member

@CJSmith-0141 BTW, did you intend to try and upgrade to Scala 3 too?

@CJSmith-0141
Copy link
Contributor Author

For my day job we're waiting for some of the more of the libraries we use to update to Scala 3 before we make the plunge.

That being said, if Exercism's appetite is to stay cutting edge I would be happy to take a crack at it.

@ErikSchierboom
Copy link
Member

Well, we don't really use many libraries. I guess we could maybe do an inventory of the libraries we use, but I expect it's very limited. So yes: I think trying to upgrade to Scala 3 makes sense for us!

CJSmith-0141 added a commit to CJSmith-0141/scala that referenced this pull request Feb 11, 2022
- removes `scala-parser-combinators` from `matching-brackets/build.sbt`
- bug introduced by [PR#712](exercism#712)
CJSmith-0141 added a commit to CJSmith-0141/scala that referenced this pull request Feb 11, 2022
- removes `scala-parser-combinators` from exercises that did not need
  them
- bumps `scala-parser-combinators` to version `2.1.0` for `sgf-parsing`
  exercise
- bug introduced by [PR#712](exercism#712)
CJSmith-0141 added a commit to CJSmith-0141/scala that referenced this pull request Feb 11, 2022
- removes `scala-parser-combinators` from exercises that did not need
  them
- bumps `scala-parser-combinators` to version `2.1.0` for `sgf-parsing`
  exercise
- bug introduced by [PR#712](exercism#712)
ErikSchierboom pushed a commit that referenced this pull request Feb 12, 2022
- removes `scala-parser-combinators` from exercises that did not need
  them
- bumps `scala-parser-combinators` to version `2.1.0` for `sgf-parsing`
  exercise
- bug introduced by [PR#712](#712)
@grzegorz-bielski grzegorz-bielski mentioned this pull request Jul 21, 2024
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
x:size/massive Massive amount of work
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants