raboof / sbt-reproducible-builds

Make your published artifacts bit-by-bit reproducible, and compare with other certifications
Apache License 2.0
36 stars 4 forks source link

Multiple jars for pekko-grpc #279

Open mdedetrich opened 1 year ago

mdedetrich commented 1 year ago

When using sbt-reproducible-build on pekko-grpc along with this PR https://github.com/raboof/sbt-reproducible-builds/pull/278 I get

[error] (codegen / reproducibleBuildsCheck) java.lang.IllegalStateException: Found multiple artifacts for jar with filenames pekko-grpc-codegen_2.12-1.0.0-RC2.jar, pekko-grpc-codegen-assembly-1.0.0-RC2.jar
[error] (scalapb-protoc-plugin / reproducibleBuildsCheck) java.lang.IllegalStateException: Found multiple artifacts for jar with filenames pekko-grpc-scalapb-protoc-plugin_2.12-1.0.0-RC2.jar, pekko-grpc-scalapb-protoc-plugin-assembly-1.0.0-RC2.jar

I think this may be another case of checking jars which have are not meant to be published and this being picked up by sbt-reproducible-build.

raboof commented 1 year ago

jars which have are not meant to be published

I think we do want to publish codegen (for 3rd-party build plugins like https://github.com/tjarvstrand/mill-akka-grpc/blob/ba0a71211eabb85ba10b5164e0b2f187d54eb96b/build.sc#L39) and protoc-plugin (to use the Akka gRPC codegen 'standalone' without using the Akka gRPC build plugin).

I'm not sure we need both the -assembly and the non--assembly artifacts, though - that might be worth looking into.

raboof commented 1 year ago

But aside from that, perhaps we can take into account the classifier when looking for the matching artifacts and make sure it works even when those should both be published.