Skip to content

Add Gradle and GitHub Actions tooling to package for Maven Central - #4

Closed
jurvis wants to merge 7 commits into
tnull:2022-09-start-uniffifrom
jurvis:jurvis/to-upstream/maven-publish
Closed

Add Gradle and GitHub Actions tooling to package for Maven Central#4
jurvis wants to merge 7 commits into
tnull:2022-09-start-uniffifrom
jurvis:jurvis/to-upstream/maven-publish

Conversation

@jurvis

@jurvisjurvis commented Mar 30, 2023

Copy link
Copy Markdown

Tested and working for...

Based on work done by BDK (thanks @thunderbiscuit!)

Things to do before merge

@tnull
tnullforce-pushed the 2022-09-start-uniffi branch 4 times, most recently from a06c67e to a491edeCompareMarch 30, 2023 12:21
@jurvis
jurvisforce-pushed the jurvis/to-upstream/maven-publish branch 3 times, most recently from 8cca401 to be1fb77CompareMarch 31, 2023 00:25
@jurvisjurvis changed the title Add Maven PublishAdd Gradle and GitHub Actions tooling to package for Maven CentralMar 31, 2023
@jurvis
jurvis marked this pull request as ready for review March 31, 2023 01:24
@jurvis

Copy link
Copy Markdown
Author

once I get a general ACK, I'll add a commit to change everything to point to lightningdevkit/ldk-node/2022-09-start-uniffi

@tnull
tnullforce-pushed the 2022-09-start-uniffi branch from 38aac93 to c04f28fCompareMarch 31, 2023 08:32

@tnulltnull left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great, thanks for having a look at this!

Here are some comments from a first pass. Generally, I'm afraid that lightningdevkit#25 could get huge if we merge everything into it. Would you therefore mind reopening this as a separate PR upstream, based on lightningdevkit#25?

Comment thread.github/workflows/build.yml
Comment threadbindings/kotlin/ldk-node-android/lib/build.gradle.kts Outdated
Comment threadbindings/kotlin/ldk-node-android/lib/build.gradle.kts Outdated
Comment threadbindings/kotlin/ldk-node-jvm/lib/build.gradle.kts Outdated
@tnull

Copy link
Copy Markdown
Owner

Btw, we already have the org.lightningdevkit org on Maven central for the LDK java bindings, will see to get access for LDK Node publishing.

@jurvis

Copy link
Copy Markdown
Author

Oh sweet, yeah. That will be nice. It seems like we may not be publishing on Sonatype (?) but I'll check out the Java bindings to see how this PR needs to be updated to be more aligned on publishing LDK-branded releases

@thunderbiscuitthunderbiscuit left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The publishing workflows look like they'll run (given that the shell scripts work and your secrets are correctly structured).

One issue you'll run into is the use of the latest NDK for the Android library. This is an ongoing issue with the Rust compiler itself as I found out a few days ago. I think at this point the short-term fix might be to stick with NDK 21 (it's the PR I will probably open on bdk-ffi). An example of the breaks it creates is when you use the android library on an x86_64 architecture (for example on emulators) as @ConorOkus found out on Monday. Using NDK 21 is a bit of a pain and requires downloading it onto the CI image (see our workflow from a few weeks back here). The other problem with that is that so far I have not been able to make this NDK work with the macOS GitHub CI image (see bitcoindevkit/bdk-ffi#282 and bitcoindevkit/bdk-ffi#243) This means you cannot use Android connected tests to run the Android tests in the emulator on the CI (you can run them locally they work fine, I just don't know why I can't seem to use the old NDK on macOS even after following GitHub's instructions).

At this point even Mozilla doesn't have a good, clean fix for it. See bitcoindevkit/bdk-ffi#242 for a bunch of links tracking how this is developing.

Comment threadbindings/kotlin/ldk-node-android/build.gradle.kts
Comment threadscripts/uniffi_bindgen_generate_kotlin.sh
@jurvis

Copy link
Copy Markdown
Author

thanks for all the review! closing in favor of PR to upstream lightningdevkit#59

@jurvisjurvis closed this Apr 4, 2023
Sign up for freeto 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.

3 participants

@jurvis@tnull@thunderbiscuit