GitLiveApp / firebase-kotlin-sdk

A Kotlin-first SDK for Firebase
https://gitliveapp.github.io/firebase-kotlin-sdk/
Apache License 2.0
979 stars 148 forks source link

Api Validation, Explicit API Mode & Linting #550

Closed Daeda88 closed 2 days ago

Daeda88 commented 3 days ago

Fixes #535 #534 and adds lint. Also did some cleanup based on code inspection

By its very nature this is a large PR with many code changes. However, no functional changes where made in the code. I recommend reviewing the gradle & workflow scripts and just scanning the actual code

Also, because I know its controversial: I left lint to use the standard Intellij rules. This means that trailing commas have been added. I've not disabled any rules except for wildcard imports / import ordering since those tend to conflict with the IDE in my experience

nbransby commented 2 days ago

Next step will be to remove the internal classes from the API, I think its just the Native... classes found in these two modules:

https://github.com/GitLiveApp/firebase-kotlin-sdk/blob/b72a3cf86debf4e26b95cb9b2e9ac664157a0036/firebase-firestore/api/android/firebase-firestore.api https://github.com/GitLiveApp/firebase-kotlin-sdk/blob/b72a3cf86debf4e26b95cb9b2e9ac664157a0036/firebase-database/api/android/firebase-database.api

Daeda88 commented 2 days ago

As in, you want me to do that in this pr? For reviewability I'd recommend doing it in a separate pr

nbransby commented 2 days ago

Agreed