To make the sample buildable, several changes were made:
- created a dummy Firebase project, added
google-services.json
to the project and removed it from.gitignore
- moved Jitpack repository to the bottom which fixes an issue where dependency that was moved from Jitpack to MavenCentral cannot be found. Jitpack is deprecated dependency repository and it makes sense to search for dependencies there last
- updated applicationId from the sample to match the applicationId from the
google-services.json
The above changes made the sample buildable which enables us to verify that things work as we're developing them, without having to integrate the library with the main project.
This repo is published and consumed via Github Packages. Created packages can be found here.
The publishing script is defined in publish.gradle script in the root of the project and is greatly inspired by this blog.
The script generates and publishes a Github package for each module in the project, while excluding the "android application" module (sample
). It covers both java and android library modules while also attaching the source code. This allows the consumer of the library to be able to browse the source code. The script can be executed by running the associated publish
task from the IDE GUI or with ./gradlew publish
from the terminal.
For authentication we use the existing setup that's already part of Android Build Setup in the mobile handbook. This means that every Android engineer should already have authentication set up.
Note: The linked setup is focused on the consumer so the token that you create with it will only have the scope read:packages
. This token will work just fine when consuming the fork from the main Android project. If you also want to publish new packages, you will need to extend the scope to write:packages
.
Note that there are two different git remotes: fork
and origin
.
origin
points to the original Github repofork
points to this Github repo
The fork
remote is set as default so executing git pull
will attempt to pull the changes from the fork
remote.
When we want to pull the changes from origin
we can do so with git pull origin
.
Our UI Kits include user interfaces to enable fast integration of standard Amity Chat and Amity Social features into new or existing applications.