Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert to multiplatform #21

Merged
merged 41 commits into from
Feb 21, 2021
Merged

Conversation

fullkomnun
Copy link

@fullkomnun fullkomnun commented Jan 25, 2021

An attempt to convert the library to Kotlin multiplatform:

Part of an overall effort to convert KHex, KHash and
eventually KEthereum to MP.

  • Follows the best practices for Kotlin DSL with buildSrc as done in KHex
  • Established a method for converting submodules to MP using BuildSrc gradually (one by one) which can be also applicable for KEthereum
  • Temporarily uses 'mavenLocal' for deployment of MPP 'KHex' (have to find a solution for proper MPP publications)
  • Uses 'com.ionspin.kotlin:bignum' as a BigInteger MP implementation
  • Uses '0.2.4-SNAPSHOT' with pending changes such as support for the new JS IR compiler and several bug fixes I submitted for bitwise operations to ensure their correctness. see [1] [2] [3]
  • Will keep up efforts to evaluate 'com.ionspin.kotlin:bignum' solution's stability, correctness and performance
  • Can either abstract 'BigInteger' with expect/actual as done currently in KEthereum and use Java's BigInteger for jvm target and the aforementioned MP implementation for non-jvm targets or use the MP implementation for all targets.

@fullkomnun fullkomnun marked this pull request as ready for review February 21, 2021 02:18
@fullkomnun
Copy link
Author

Thanks for the invite! I think this PR is ready

@ligi ligi merged commit 9cfabe9 into komputing:master Feb 21, 2021
@fullkomnun
Copy link
Author

Should probably create a new release for the multiplatform support

@ligi
Copy link
Member

ligi commented Feb 21, 2021

Released as 1.1.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants