stream-chat-android
publish-plugin
Our great sponsors
- Appwrite - The Open Source Firebase alternative introduces iOS support
- CodiumAI - TestGPT | Generating meaningful tests for busy devs
- InfluxDB - Access the most powerful time series database as a service
- ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
- SonarLint - Clean code begins in your IDE with SonarLint
stream-chat-android | publish-plugin | |
---|---|---|
6 | 3 | |
1,230 | 317 | |
6.2% | 1.9% | |
9.6 | 0.0 | |
3 days ago | 5 days ago | |
Kotlin | Kotlin | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
stream-chat-android
-
Adventures in Tracking Upload Progress With OkHttp and Retrofit
So that's the implementation we ended up with for now! You can find all of this code in the Chat Android SDK's GitHub repository if you want to look at it in a real project.
-
Need suggestions for a chat SDK to handle 1K users daily.
Check out Stream on Github. They have a few chat SDKs for iOS, Android, React and a few others. Website: https://getstream.io/
-
Publishing Android libraries to MavenCentral in 2021
afterEvaluate { publishing { publications { release(MavenPublication) { // The coordinates of the library, being set from variables that // we'll set up later groupId PUBLISH_GROUP_ID artifactId PUBLISH_ARTIFACT_ID version PUBLISH_VERSION // Two artifacts, the `aar` (or `jar`) and the sources if (project.plugins.findPlugin("com.android.library")) { from components.release } else { artifact("$buildDir/libs/${project.getName()}-${version}.jar") } artifact androidSourcesJar artifact javadocJar // Mostly self-explanatory metadata pom { name = PUBLISH_ARTIFACT_ID description = 'Stream Chat official Android SDK' url = 'https://github.com/getstream/stream-chat-android' licenses { license { name = 'Stream License' url = 'https://github.com/GetStream/stream-chat-android/blob/main/LICENSE' } } developers { developer { id = 'zsmb13' name = 'Márton Braun' email = '[email protected]' } // Add all other devs here... } // Version control info - if you're using GitHub, follow the // format as seen here scm { connection = 'scm:git:github.com/getstream/stream-chat-android.git' developerConnection = 'scm:git:ssh://github.com/getstream/stream-chat-android.git' url = 'https://github.com/getstream/stream-chat-android/tree/main' } } } } } }
We’ll use our very own Android Chat SDK in our examples. This SDK is made up of multiple artifacts, but for simplification, we’ll just talk about publishing the low-level networking client, which lives in the stream-chat-android-client module of the GitHub repository.
-
Build an Android Chat app with Jetpack Compose
We already ship a UI Components library in our Chat SDK which contains ready-to-go, fully-featured Android Views to drop into your app, along with ViewModels that let you connect them to business logic in just a single line of code. You can check out how that works in our Android Chat Tutorial.
publish-plugin
-
Publishing Android libraries to MavenCentral in 2021
To easily automate publishing later, you'll use the gradle-nexus/publish-plugin tool. This has to be added in your project level (root) build.gradle file as a dependency.
-
No-bullshit guide on publishing your Gradle projects to Maven Central
There is a remedy: Gradle Nexus Publish Plugin. This plugin automatically closes and releases OSSRH staging repositories whenever you publish something. To use it, remove the repositories section from the publishing plugin configuration of your build script (the one mentioning "OSSRH" in my example above) and add these lines to your build:
-
How to publish a Gradle project to OSSRH.
Yeah, the new plugin which combines both of these functionalities is wip https://github.com/gradle-nexus/publish-plugin . I assume this will get released soon.
What are some alternatives?
stream-chat-compose-experiment
Retrofit - A type-safe HTTP client for Android and the JVM
compose-samples - Official Jetpack Compose samples.
stream-chat-react - React Chat SDK ➜ Stream Chat 💬
java-11-examples - JDK 11 examples and demo projects.
Applozic-Android-Chat-Messaging-SDK - Official Android SDK for Applozic Real-time Chat & Messaging. Powerful client, offline support, and UI component libraries for awesome in-app chat features.
aws-junit5 - JUnit 5 extensions for AWS
Stream-Framework - Stream Framework is a Python library, which allows you to build news feed, activity streams and notification systems using Cassandra and/or Redis. The authors of Stream-Framework also provide a cloud service for feed technology:
stream-chat-swift - 💬 iOS Chat SDK in Swift - Build your own app chat experience for iOS using the official Stream Chat API
gradle-publish-ossrh-sample
kotlin-android-template - Android + Kotlin + Github Actions + ktlint + Detekt + Gradle Kotlin DSL + buildSrc = ❤️
ArcChartView - Arc Chart View (Draw Creative Statistic Arc Charts)