Cross-compilation with Dotty and other platforms
Closed this issue · 10 comments
So I've started to work on making squants ready for Dotty, which lead to (hello, unshaved yaks) replacing tut with mdoc and some build modifications.
The WIP is in here: master...keynmol:dotty
Should I attempt to break it down or will it be okay to submit as one unit?
There's a lot of things that just don't sit right with Dotty as a whole, so I'm wondering what's the take on the actual design of the library going forward.
We actually had a working version of squants in the dotty community build: https://github.com/dotty-staging/squants/commits/bbbb64791b2be3ebc53943cdfa94871ce2b79e7a, but given that it seems like this project isn't actively maintained upstream currently, we'll probably drop it until it's officially supported in this repo so we don't have to maintain it ourselves.
Hello @keynmol @smarter Does anyone know if squants is indeed in active maintenance by anyone interested in scala 3?
It's one of the 2 libraries blocking our path to full migration. Unfortunately time and budgetary constraints prevent us from taking up this particular burden, but if it's not happening we'll just cobble something together for our very simple use cases (multiple UoM in mass and space in the logistics sector occasioned by customers in different countries)
We'd certainly accept PRs to get squants to cross compile to dotty
It doesn't have too many dependencies so it may be straightforward but I haven't tried it
Ok I'll try to finish my PR then. Only issue I was having was with tests but that was 3 months ago and Scala 3 stuff has certainly progressed a lot more since then :)
many thanks for this!
@keynmol at this point I can't really use squants (1.7+) because of mdoc runtime deps, which grabs JBoss undertow and other things I don't really like to see in my Cats project.
I think it's somewhat related to the cross compiling plugins and current SBT setup, need investigating.
For now, I'm forced to exclude it explicitly
("org.typelevel" %% "squants" % "1.8.0").excludeAll(ExclusionRule("org.scalameta", "mdoc_2.13"),
ExclusionRule("org.scalameta", "mdoc-runtime_2.13"),
ExclusionRule("org.scalameta", "mdoc-interfaces_2.13")
)
Dotty support has been included for a while
🎉