05nelsonm / encoding

A Kotlin Multiplatform library for configurable, streamable, efficient and extensible Encoding/Decoding with support for base16/32/64.
Apache License 2.0
33 stars 5 forks source link

Split package io.matthewnelson.encoding.builders #124

Closed craigraw closed 1 year ago

craigraw commented 1 year ago

The package io.matthewnelson.encoding.builders is split across 3 jars. When using Java modules, these jars become modules, and this results in a split package which is disallowed by JPMS. This results in errors at runtime for example: Package io.matthewnelson.encoding.builders in both module encoding.base16.jvm and module encoding.base32.jvm.

There are two solutions - either package the encoding-base*-jvm jars as one jar, or change the package name in each of the jars, for example: io.matthewnelson.encoding.builders16, io.matthewnelson.encoding.builders32, io.matthewnelson.encoding.builders64.

05nelsonm commented 1 year ago

This is related to kmp-tor, yah?

I really do not want to break the current API and hope there is a solution via a deprecation cycle.

If I were to:

Would you be able to update your module config in Sparrow Wallet to no longer export the ...builders path, and only export the ...builders.base* packages?

05nelsonm commented 1 year ago

Deprecation cycle did not work. JPMS is still throwing exception even when no references are had to the .builders package. Will need to remove the .builders packages from base16, base32, and base64 modules.

POA: