mirror of
https://codeberg.org/Mercury-IM/Mercury-IM
synced 2024-12-21 21:27:59 +01:00
No description
app | ||
cli | ||
config/checkstyle | ||
data | ||
documentation | ||
domain | ||
entity | ||
gradle/wrapper | ||
libs | ||
utils | ||
.gitignore | ||
.gitmodules | ||
build.gradle | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
mercury_black_24dp.svg | ||
mercury_icon.svg | ||
README.md | ||
settings.gradle | ||
version.gradle |
Messenger
Mercury-IM will be an XMPP messenger that aims to be portable. Most of the core logic is pure Java, so the final goal is to make it as easy as possible to add different UIs for different platforms on top of it.
Developing:
- Mercury IM's development tries to follow architectural principles know from Clean Architecture.
- The app is developed using the MVVM (Model View Viewmodel) pattern
- Components are wired together using Dependency Injection (DI) with Dagger 2
- Data is persisted using the requery ORM framework
Building
Since there are some issues with Android Studio and composite builds, it is currently only possible to build Mercury-IM either using the Gradle command line tool (see below), or by using Android Studio 3.5.3.
git clone <project-url>
cd <project-directory>
git submodule update --init --recursive
gradle assembleDebug
FAQ
- I want to develop, but lots of
org.jivesoftware.smackx.*
classes cannot be found!- You forgot to type
git submodule init && git submodule update
as mentioned above
- You forgot to type
- It looks like I'm missing
org.mercury_im.messenger.data.*
classes???- In Android Studio select the
data
module and then click "Build -> Make Module 'data'".
- In Android Studio select the