-
Notifications
You must be signed in to change notification settings - Fork 68
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
Gradle task to publish dependencies for bisq mobile using mavenLocal #2965
Gradle task to publish dependencies for bisq mobile using mavenLocal #2965
Conversation
rodvar
commented
Oct 29, 2024
•
edited
Loading
edited
- Implementation for Publish Bisq 2 libraries for re-use in Bisq-mobile #2951
- create custom plugin to apply to each specific module where we need to publish jar to maven local
- applied to all the necesary modules we need for AndroidNode
- created handy publishAll task in root
- adaptations for recursive submodules like network
Those modules need to be added as well: The tor project is another project inside network with sub-projects. That is not published yet. When using in Android there is an error with missing dependency to bisq::platform, which is part of the pom.xml file
I think the protobuf and resources need to be added to sources for the jars. |
cool I'll work on this next 💪 |
f870181
to
fdbbc3a
Compare
this is proving to be quite complex, because of the complexities of gradle composite builds we use in the project the generated default pom files have significant issues (corrupted files with no version in dependencies, or wrong reference name). I'm dealing with each one by one. |
this feature forces us to define requirement of dependencies properly (always specifying a version) cause
So we need to fix the following now:
|
Android POC can compile with these changes but failes dexing with a protobuf duplicated class error Account$Builder |
agreed with henrik we can ignore bisq-easy dependency as its not really needed and forces us to export wallet and bitcoind which we wold like to avoid. |
removed bisq-easy, only issue pending for the POC to build is solving protobuf duplicated defs:
|
e57b611
to
912c078
Compare
Managed to get rid of those issues by using a different package for the proto generated in the mobile POC (some libs jave the jar generation including the proto sources and everything in bisq2 depends on that so cleaning it up is very complex) now I'm into a different deal of problems, looks like code is still being compiled using Java22
need to use this PR to make sure Java 17 is used for compilation |
worth to mention that it builds now, the error above is in runtime :)
|
@HenrikJannsen I merged your latest work on the native POC + some small adaptations into bisq-mobile pocs folder, let's continue contributions there 💪 |
edc932b
to
85835f8
Compare
@HenrikJannsen this version works. You can test it by running Next lines of work after this is merged:
Let me know your thoughts! |
@HenrikJannsen happy to revert the changes on wallets/ module as we ended up not needing them, let me know |
Yes that would be good. |
@rodvar Regaring the setting of the Java version 17: We still would like to use Java 22 for Bisq 2, so it would be good to have the version configurable so that the publish tasks use Java 17 but normal build/deployment tasks use Java 22. |
I'll give this a go today, if its not trivial I agree we can do it in a subsequent PR |
cfa6d62
to
a7426c7
Compare
a1ffa05
to
12964e4
Compare
it's all broken after rebase, even switching to main or downloading a fresh new copy of bisq I get
|
I will make a PR with additional build instructions for git submodule in a minute. Setup bitcoind git submodule: git submodule init
git submodule update In case the submodule has changed after a project update, run: git submodule update |
Project won't build until this gets merged to wallets/bitcoind submodule |
9479975
to
9b88ed0
Compare
to publish jar to maven local - applied to all the necesary modules we need for AndroidNode - created handy publishAll task in root - adaptations for recursive submodules like network - include protobuf generated sources in the jars when available - include tor composite build - updated publishAll to consider all the needed jars for Android node dev
… publishing tasks
build-logic dependent on version) - added fake BOM maven publish for gradle platform module 'platform' - flatten generate m2 repo structure leaving composite gradle modules on its own group
- require a more careful definition of dependencies considering version (full group-artifact-version definition)
…ts not needed for jars publishing
… to new submodule wallets enforcing so
9b88ed0
to
fa28883
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK
This PR need some follow-up but to not block the work on Bisq mobile we merge it as it is.
|
Thanks Henrik, I've created an issue for this please have a read and contribute with anything you think appropiate |