Closed jschaul closed 3 years ago
I think this may just require a new version release of mu-avro to fix this issue today, as compilation succeeds with a git checkout of lastest master.
More generally, I suppose all package's versions need to be bumped and uploaded to hackage more or less on any change like the one in https://github.com/higherkindness/mu-haskell/issues/288 - perhaps it's worth combining some libraries, or automating this process of bumping&uploading a little further.
Thanks for catching this, a new version 0.4.0.4 has been released.
Unfortunately we haven't found a tool to do the corresponding bumps automatically, we've just been able to automate the release of a single one with a command, but you still need to run it.
Why don't you simply publish one single library called
mu
to hackage (or at least grouping a few libraries into one)? I cannot at this point import only a subset of the libraries in this repository; so; what's the point of having distinct libraries on hackage if they all depend on each other very tightly? (and, as a result, publishing a new version for one library actually can easily break others)
This was a decision which in hindsight has not been a good one, I think we should have rather bundled mu-schema
, mu-rpc
, mu-optics
, and all the adapters together. In this particular case, mu-grpc-common
requires mu-avro
because we allow transport over gRPC to use either Protobuf or Avro serialization. The latter may seem a bit weird, but our sibling library in Scala added this because of user demand, so we went that way too.
Using
On a related note, I'm a bit confused about the library structure: I don't want to use mu-avro (at the moment); and I would like to not care about it; however,
mu-grpc-common
depends onmu-avro
, andmu-grpc-server
andmu-grpc-client
both depend onmu-grpc-common
. So I cannot make use of any of your libraries without also importing all the others. Why don't you simply publish one single library calledmu
to hackage (or at least grouping a few libraries into one)? I cannot at this point import only a subset of the libraries in this repository; so; what's the point of having distinct libraries on hackage if they all depend on each other very tightly? (and, as a result, publishing a new version for one library actually can easily break others)