suzaku-io / boopickle

Binary serialization library for efficient network communication

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Publish boopickle for Scala.js 1.0.0

strelec opened this issue · comments

Good news, scala.js 1.0.0 has been released. It would be good to have boopickle published for it, for last few releases of boopickle.

The PRs #118 and #121 and the CI fix commit do this for scala 2.12 and 2.13 JS and JVM.. There is only a final CI issue when deleting folders at the end; I don't no why. Otherwise all tests passed ! So a release can be done very soon !

rm: missing operand
Try 'rm --help' for more information
The command "find $HOME/.ivy2 -name "ivydata-*.properties" | xargs rm" exited with 123.

f013b9b fixes the CI issue. So that we are now for releasing @ochrons

I would really need to have a new version publshed with scalajs 1.0.0. Would you release it @ochrons ?

Now published. Had a little bit of problem with ScalaDoc and Java11 (scala/scala#8663)

Excellent, thanks !

@ochrons, thanks for publishing boopickle for sjs1.

I'm working on updating cornerman/chameleon#53 to run with boopickle 1.3.2. However, I'm getting the following error:

[error] java.io.IOException: Failed to deserialize /v/Library/Caches/Coursier/v1/https/repo1.maven.org/maven2/io/suzaku/boopickle_sjs1_2.12/1.3.2/boopickle_sjs1_2.12-1.3.2.jar:/boopickle/BasicPicklers$$anon$6.sjsir
[error] Caused by: java.lang.IllegalArgumentException: malformed version: 0.6.17

but we are using sjs 1.0.1, full error:
https://gist.github.com/vic/e4a05a73eeba91cf5cd1bcc4ed6c8069#file-gistfile1-txt-L32

Perhaps the boopickle artifact still contains .sjsir files correspoding to the scalajs 0.6.17?

Or perhaps, am I missing something?

Cheers :)

Even after clearing all caches. I can reproduce this issue.

Perhaps something went wrong in the publishing process and it didn't rebuild using SJS1 but used some old version. Can you try with Scala 2.13, as I did thorough cleaning before publishing that version due to the aforementioned scaladoc issue.

Otto, you are correct.

The project for Scala 2.13.1 compiles successfully.

I guess it's time to release 1.3.3 then to fix this 😅

@ochrons Beware that if you compile with Java 11, there's a chance you're breaking Java 8 compat. If your code is calling flip on a ByteBuffer, you'll be linking to the new override that doesn't exist on Java 8 (that only has Buffer#flip). You should be using Java 8 while releasing.

Oh, good to know! I wonder if that could be somehow checked in the SBT build to prevent mistakes.

Actually, you could easily work around this in your case.
It seems you only have one single flip call in your whole main code.
You could have a helper method such as def flip(bb: Buffer): Unit = bb.flip() that would make sure you're linking to Buffer#flip and not ByteBuffer#flip.

commented

@strelec I've had a similar issue (sjs 0.6 leftovers) with publishLocal on zio/zio, when we switched to SJS 1.0. sbt clean was not enough. Manually deleting the whole target directory helped.