This library is used to implement Nabto Edge WebRTC in an Android app. This library is used to implement the demo app on Google Play and GitHub.
The following modules are included
- webrtc - the core library
- webrtc-demo - a small test application in kotlin that uses the library
- webrtc-demo-java - same as above but in java
To build run the following
./gradlew buildTo create staging artifacts run the following command, the artifacts will be saved to webrtc/build/staging-deploy. These artifacts are not signed and cannot be uploaded to maven central. See the jreleaser section below for info on deploying.
./gradlewThis repository uses JReleaser to upload artifacts to Maven Central. This happens in two steps
- The publish step run
scripts/publish.gradlein the:webrtcmodule to store staging artifacts in the build directory. - JReleaser (configured in
scripts/jreleaser.gradle) deploys the staging artifacts to Maven Central.
The following gradle properties must be set to allow JReleaser to publish artifacts.
GPG_SIGNING_KEY_BASE64Base64 encoded armored PGP private keyGPG_SIGNING_PUBLIC_KEY_BASE64Base64 encoded armored PGP public keyGPG_SIGNING_PASSWORDPassphrase for the above keypairOSSRH_USERNAMEIMPORTANT this is no longer the OSSRH username but actually the username of a token generated in the account options in https://central.sonatype.com/OSSRH_PASSWORDSimilar to above, this is the password of that same token.
Note that the signing keys are armored and base64 encoded, so they are actually twice-encoded. This is to get around a Jenkins limitation where secrets cannot have newlines. To output these keys from gpg you can use the following commands
gpg --armor --export <KEYID> | base64 -w 0
gpg --armor --export-secret-keys <KEYID> | base64 -w 0
./gradlew publish
Running publish will no longer attempt to deploy to maven. Instead it will store staging artifacts into the build/staging-deploy directory.
./gradlew jreleaserDeploy
Running this command will deploy the files in build/staging-deploy to Maven Central.
If the current Git commit is tagged with a version it will be uploaded but not published. You must manually go to https://central.sonatype.com/ and publish the staged artifacts.
If there is no tag JReleaser will only deploy a snapshot.