CMake add option to build WebUI support
CMake install also implementation headers, we need to do this because
libretroshare doesn't encapsulate implementeation well so C++ user
needs also implementation headers, not only the public ones to compile
CMake properly links thread and dl libs
CMake use proper flags for status messages
CMake use more target_* specific functions
WebUI improve error checking and reporting
Move test utility header to tests directory
Avoid crashing in rsGlobalShutDown() if called before login
Avoid RS remaining active when stopped from Android when not yet logged
in by calling rsGlobalShutDown() always
The key change is:
-build.dependsOn prepareRetroshareNativeLibs
+preBuild.dependsOn prepareRetroshareNativeLibs
This way the native libs are compiled and put in the right place before
the package get assembled
All the rest are improvements to the build system that I made while
investingating the problem
We don't control retroshare.me anymore so in some cases a certificate
might be sent to the owner of that domain by browsers after a link
containing an invite, better preventing that from happening
Make API level parameter and get rid of flavours so build take less time
and require less disk space, and builder can configure it at the API
level needed
Add Dockerfile to produce AAR
Attempt to use the generated doker images for gitlab.com CI
Fix linking and runtime errors aout missing libretroshare symbols
such as:
AndroidRuntime: Shutting down VM
AndroidRuntime: FATAL EXCEPTION: main
AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "rsPosted" referenced by libretroshare.so
AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_ZN10p3PostBase12service_tickEv" referenced by libretroshare.so
AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_ZN7RetroDb21OPEN_READWRITE_CREATEE" referenced by libretroshare.so
AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "RemoveRedirect" referenced by libretroshare.so
Avoid runtime error such as
AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__android_log_write" referenced by "/data/app/com.example.retroshare_aar
When apps that uses libretroshare are compied and proguard is run, Java
classes coming from libretroshare and that are used only by
libretroshare C++ code were errouneously stripped by proguard.
Bundle proper proguard rules in the AAR to avoid runtime errors such
as
java.lang.ClassNotFoundException: Didn't find class "org.retroshare.service.AssetHelper" on path: DexPathList[[zip file "/data/app/com.example.retroshare_aar
Fix linking and runtime errors such as
AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "strupnperror" referenced by "/data/app/... libretroshare.so"