akka/akka-core

Protobuf files conflict due to version mismatch

開放

#29,456 建立於 2020年8月4日

 (4 則留言) (0 個反應) (0 位負責人)Scala (3,547 個分叉)batch import
1 - triagedhelp wantedt:serialization

倉庫指標

星標
 (13,277 顆星)
PR 合併指標
 (平均合併 8天 19小時) (30 天內合併 10 個 PR)

描述

It seems like due to the shading of protobuf library users should be safe using different version of protobufs than the one bundled into akka. However protobuf comes already with some core proto definitions bundled into it which aren't being shaded as shading process transforms only classes. Because of that, when trying to assemblePackageDependency on a project, which includes both akka and some other version of protobufs(than akka uses internally), a conflict will occur if there is a mismatch between corresponding files' contents. An example of such conflict can be found here: https://github.com/EventStore/EventStore.JVM/issues/159

Content of the akka-protobuf-v3 jar:

tree --filelimit=12                               
.
├── akka
│   └── protobufv3
│       └── internal [660 entries exceeds filelimit, not opening dir]
├── google
│   └── protobuf
│       ├── any.proto
│       ├── api.proto
│       ├── compiler
│       │   └── plugin.proto
│       ├── descriptor.proto
│       ├── duration.proto
│       ├── empty.proto
│       ├── field_mask.proto
│       ├── source_context.proto
│       ├── struct.proto
│       ├── timestamp.proto
│       ├── type.proto
│       └── wrappers.proto
└── META-INF
    └── MANIFEST.MF

7 directories, 13 files

貢獻者指南