Closed aSemy closed 3 months ago
@aSemy, first of all, sorry for the long time it took me to reply.
Looking at the affected BCV-MU's code, it seems like BCV's List<ClassBinarySignature>.dump
extension function should be updated to sort class signatures by name. After that, both BCVSignaturesWorker::writeSignatures
and KotlinApiBuildTask::generate
could simply start using List<ClassBinarySignature>.dump
instead of explicitly sorting and dumping signatures. In that case, no extra API should be exposed and BCV-MU continue to behave the same way it did.
On the BCV's side, it would look like this: https://github.com/Kotlin/binary-compatibility-validator/pull/188/files
Would that work for you?
Good idea! That sounds like a better solution. I'll experiment and see if your proposal is compatible with BCV-MU.
I updated the task to use dump
in #192
Fixed in 0.15.0-Beta.1
In version 0.14.0 several elements were marked as internal.
https://github.com/Kotlin/binary-compatibility-validator/pull/168/files#diff-8f30838a249b5077fe400072f0089da4daab28a873456622c54fdea121f9517fR13-R24
BCV-MU requires access to:
ClassBinarySignature
MEMBER_SORT_ORDER
MemberBinarySignature
for running the signature generator in a Gradle Worker.
https://github.com/adamko-dev/kotlin-binary-compatibility-validator-mu/blob/101ce0af1b66403ee2b7d32e7ad2b04e586c85cc/modules/bcv-gradle-plugin/src/main/kotlin/workers/BCVSignaturesWorker.kt#L115-L127
Please could these properties be made public again?