Now the Gradle build for RingRTC only has a single Gradle project (and
no subprojects). Its debug and release variants are used for the
different builds of RingRTC.
This allows the debug and release AARs to be built individually.
Previously when you tried to build only one of them (through
build-aar), both AARs would still be created. Now when you want to
build only one of them, the Gradle portion of the build will take ~1/2
the time that it previously did.
These changes also fix the bug where an AAR could be created without
.so files in it, and the bug where the debug and release AARs would be
exactly the same (where one overwrote the other).
This commit adds a native interface to RingRTC. This provides native
access to more WebRTC capabilities, such as the PeerConnectionFactory,
PeerConnection, and some native media capabilities.
The native interface is used for electron-based client support, so
that WebRTC can be accessed directly with RingRTC rather than through
the Chrome backend. A script bin/build-electron is provided to build
the electron library, and a node project with a TypeScript API is
provided in src/node.
A command line interface is also available. This uses some new hooks
for simulating networks through WebRTC. This client is meant for
testing, it is not a Signal client.
The following clean targets are supported:
clean -- remove all platform build products.
distclean -- remove everything, including downloaded WebRTC dependencies.
Signed-off-by: Curt Brune <curt@signal.org>
Tidy up the prepare-workspace and build-xxx scripts into a Makefile.
Also adjust the BUILDING instructions to show the new build flow.
To build iOS release frameworks type "make ios".
To build debug and release .aar for Android type "make android".
Signed-off-by: Curt Brune <curt@signal.org>