Closed tribbloid closed 2 years ago
good question! I have not worked out any plans yet. But one obvious course of action would be to turn this project into an Analyzer Plugin, since I have added support for that in the compiler, which allows us to provide new features immediately (and old features that were rejected in the compiler PR). Not sure how constrained it will be though
Yeah but obviously if you want to add features this way it will not be backward compatible to earlier scala version. So the question is:
is it possible to make it backward compatible? To enable cross-compilation to every versions starting from 2.12.0?
(independent of the result of the first question) should the latest change be directly pushed to scala compiler repo, under 'scala.tools.nsc' package? Or @dwijnand will keep pulling from this repo?
The second question should be easier to figure out. I'm also interested in @dwijnand & other committers' preferences
I think compatibility should be possible. we'll have to give it a try. about how features are supposed to be pushed, I do not know.
I'll just ask on Spark gitter or issue tracker. Hopefully that community won't eat us for breakfast (like what they did to https://ensime.github.io/)
And how could I possibly forgot the most important part?
Scala plugins must be "fully cross-built" meaning they are released against specific Scala versions, such as splain_2.13.5 so a version for 2.13.6+ being architected as an analyzer plugin would be possible, with some specific source repos.
In terms of updating the implementation in the compiler, I don't have the bandwidth to sync them myself, so we would need @tek or another interested party to submit those updates as pull requests.
thanks @tribbloid :smile:
sure @dwijnand , that should be no problem.
Thanks a lot @dwijnand
@tek so we keep our package name & repo, that's a good news.
The remaining problem is to facilitate easy pull request into scala compiler (which obviously requires a batch package renaming). I don't know enough about what kind of works are for the first PR, so you should have a better answer
I'd suggest to start with manual backporting and see how it goes.
Should be superseded by 1.0.0 discussion, closing
(merged since 2.13.6)
https://github.com/scala/scala/releases/tag/v2.13.6
Will this repo be superceded and we move all active development to scala
or this repo remain active and wait for the scala compiler repo to periodically pull from us?
How do we test it for the latest integration?