stanch / reftree

Automatically generated diagrams and animations for Scala data structures
http://stanch.github.io/reftree/
GNU General Public License v3.0
587 stars 36 forks source link

Add support for Scala 2.13 #36

Closed danicheg closed 1 month ago

danicheg commented 2 months ago

Resolves #35

Alongside adding Scala 2.13 support, some other things have been done:

I tested that PR against Scala 2.12 and Scala 2.13 on JVM and JS platforms. It works fine. The only thing I'm concerned about is that we might have issues with building and publishing the website. I migrated the corresponding SBT plugins according to the docs but failed to bootstrap the site locally. I agree it sounds disappointing, and it might be a blocker for getting this PR merged. However, maybe someone will express interest in putting on the finishing touches, or I will find time to do that.

danicheg commented 2 months ago

As usual, to get the Github Actions Workflows to run, they must be in the master branch šŸ¤·šŸ» Meanwhile, I managed to run and debug the CI pipelines (except for publishing, for sure) within my fork, and it appears to be 'green' https://github.com/danicheg/reftree/actions/runs/9627261707/job/26554149707.

stanch commented 2 months ago

This is amazing, thank you so much for breathing life into this project :)

I will be able to take a closer look tomorrow. If itā€™s not too much trouble to pull all => changes into a separate PR to ease the review, that would be appreciated, but if not thatā€™s ok. (Yes, I drank too much unicode kool-aid back in the day, sorry!)

Donā€™t worry about the site. Last time I tried Gitbook a few years ago, it was broken already. The solution is to move to Docusaurus and I think I can do that relatively easily.

danicheg commented 2 months ago

If itā€™s not too much trouble to pull all => changes into a separate PR to ease the review, that would be appreciated, but if not thatā€™s ok.

Unfortunately, these changes are forced by scalac https://github.com/scala/scala/pull/7540. Therefore, putting them in a separate PR would lead to a broken build in Scala 2.13.

The solution is to move to Docusaurus and I think I can do that relatively easily.

Funnily, I also thought about migrating to Docusaurus and decided to discuss this first :)

stanch commented 2 months ago

Therefore, putting them in a separate PR would lead to a broken build in Scala 2.13.

I assumed this PR would then be against the branch of the other PR. But never mind, itā€™s not a huge obstacle.

danicheg commented 2 months ago

I assumed this PR would then be against the branch of the other PR. But never mind, itā€™s not a huge obstacle.

Ahh, I see.

danicheg commented 1 month ago

@stanch I know this PR looks monstrous, let me know if I should make it more accessible.

stanch commented 1 month ago

I think itā€™s fine as it is ā€” my plan is to merge and do some sanity checks on the 2.13 collection instances. Iā€™ll try to find some time tomorrow. Sorry for not being faster, most of my free time is now spent building a chair šŸ˜…

danicheg commented 1 month ago

Iā€™ll try to find some time tomorrow. Sorry for not being faster, most of my free time is now spent building a chair

Take your time, no rush at all. Building a chair sounds awesome, especially when you're bored with these damn computers.

danicheg commented 1 month ago

Unfortunately, a miracle hasn't happened, and microsite building/publishing failed. So, let's try to migrate to Docusaurus?

stanch commented 1 month ago

Yeah, Iā€™ll take a stab at that!

stanch commented 1 month ago

@danicheg Check this out: https://github.com/stanch/reftree/commit/37ddf66c969774454abbc4753bf44bc533cf467b.

Itā€™s live: http://stanch.github.io/reftree/docs

I had to make a few concessions to keep my sanity:

Contributions are welcome :P

Iā€™ll likely do a release tomorrow, still need to fix something in the build for that.

danicheg commented 1 month ago

@stanch nicely done!