TIDAL Android SDK
This is the repository for TIDAL Android SDK modules.
Available modules
-
./auth/README.md
-
./common/README.md
-
./eventproducer/README.md
-
./player/README.md
Working in this repository
First time setup
It is strongly recommended to run local-setup.sh
right after cloning the repository. This will install the pre-commit git hook to run lint checks for your code. CI will also run these checks, but it's best to prevent CI failures by running the checks locally.
Creating a new module
-
Run the
generate-module.sh
script. It will prompt you to enter a module name using PascalCase. After confirming the name, a new directory will be created with the basic module setup. -
Commit the generated code and create a pull request.
-
After that pull request is merged, start working on your module.
Creating a module release
-
Bump your module's version to the desired value in your module's
gradle.properties
file. You'll find an entry looking like this:# Current Version
version=1.0.0Content copied to clipboardChange
version
to the new value. This follows Semantic Versioning. Also, you cannot downgrade - the CI/CD pipeline will refuse to work with downgrades. -
Open a Pull Request with your version bump, get it approved and merge it. A release draft will be created for the module you changed.
-
Find your draft in the releases list and add some meaningful sentences about the release, changelog style (Note: This paragraph is temporary, as we will automate and regulate changelog creation, but for now, you are free to type)
-
Check in with your teammates, lead, the module's owner etc. to make sure the release is ready to go.
-
Click
Publish
at the bottom of your draft release. This will trigger a workflow to publish a package of the new version -
Find your newly published package here.
All modules:
Auth module handles Authentication and Authorization when interacting with the TIDAL API or other TIDAL SDK modules. It provides easy to use authentication to interact with TIDAL's oAuth2 server endpoints.
This module contains shared code that should be available to multiple modules. This currently includes globlally shared error and message classes.
This module is only intended for internal use at TIDAL, but feel free to look at the code.
The TIDAL Player client for Android.