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

Publish Bisq 2 libraries for re-use in Bisq-mobile #2951

Open
HenrikJannsen opened this issue Oct 24, 2024 · 4 comments
Open

Publish Bisq 2 libraries for re-use in Bisq-mobile #2951

HenrikJannsen opened this issue Oct 24, 2024 · 4 comments
Assignees

Comments

@HenrikJannsen
Copy link
Contributor

We need to publish the Bisq 2 modules used in Bisq-mobile as jar libraries.

  • Publish as jar to local maven repository
  • As there are many modules, avoid duplication of the Gradle tasks (maybe create plugin?)
  • Include protobuf files and resources
  • Use those libraries as dependencies in Bisq-mobile
  • Add publish-all convenience task

We could use jitpack instead/additional to the local maven repository, but this will require verification.
I think local maven is at least during development easier and faster.

We could also consider to create a shadow jar to pack all into one jar. But I think having individual jars is probably better. If we package all we must avoid the non-android compatible modules like java-se, os-specific, apps`,...

When I used that approach in my POC branch I had issues with plugin id("bisq.java-library") as on android that caused a missing dependency to 'bisq::platform' which is not a java library and I did not manage to publish that. I guess it has to be recreated on the android project. By replacing the id("bisq.java-library") plugin with:

java
id("bisq.java-conventions")

I could resolve that issue.

At the network module when adding the publish tasks (at network-identity) it caused problems on the network sub-projects (like tor). I did not manage to resolve those issues. Some Gradle experts will know for sure how to deal with that....

@HenrikJannsen
Copy link
Contributor Author

@rodvar Can I assign that to you?

@rodvar
Copy link
Contributor

rodvar commented Oct 24, 2024

@HenrikJannsen sure thing!

@rodvar
Copy link
Contributor

rodvar commented Oct 29, 2024

starting work on this one

@rodvar
Copy link
Contributor

rodvar commented Oct 29, 2024

Current status:

  • can merge from main, all the work of ongoing adaptations has already been merged
  • code is fully J17 compatible now
  • Ideally (TBD) we should set that in the gradle setup (J17 compilation), but still target Java 22
  • local publishing to maven has not been merged, part of this issue tasks is to put it in place fully working for all the modules we need

Modules to work out:

- bisq-easy
- bonded-roles
- chat
- common
- contract
- i18n
- identity
- network
- offer
- persistence
- security
- settings
- support
- trade
- user

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

No branches or pull requests

2 participants