- Add `runCatchingExceptions` and `mapCatchingExceptions` to replace `runCatching` and `mapCatching`.
- Make `tryOrNull { ... }` catch only exceptions too.
- Apply the changes to the whole project.
- Add new Rust fakes for tests to handle the code that's now unblocked - previously it just threw an `UnsatisfiedLinkError` which we ignored.
- Add a new `detekt-rules` project with a `RunCatchingRule` to prevent `runCatching` and `mapCatching` usages.
* `runQualityChecks` task shouldn't fail fast
Make sure we run every task it depends on so we get a list with all the issues instead of having to retry several times.
* Tweak `runQualityChecks` to make sure all Android lint tasks run
* Use the right check in the quality flow
* Fix Norwegian translations that caused a `Typos` error
2 replace all actions have been performed:
- "SPDX-License-Identifier: AGPL-3.0-only" to "SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial"
- "Please see LICENSE in the repository root for full details." to "Please see LICENSE files in the repository root for full details."
* Bump Kotlin to v2.0
* Fix lots of issues due to the upgrade: lint issues, function signature incompatibilities, broken tests, etc.
---------
Co-authored-by: Benoit Marty <benoit@matrix.org>
* Use Anvil KSP instead of the Square KAPT one
* Fix several configuration cache, lint and test issues
* Allow incremental kotlin compilation in the CI
* Workaround Robolectric + Compose issue that caused `AppNotIdleException`
* Update the `enterprise` commit hash
* Update screenshots
---------
Co-authored-by: ElementBot <android@element.io>
This should fix both configuration cache and reproducible F-droid builds.
Cleanup and remove gplay/fdroid diff on open source licenses.
Co-authored by @jmartinesp
* Use ComposablePreviewScanner to rework how screenshot testing works
* Add test sharding
* Update screenshots
* Fixes for Element Gallery
---------
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
* Fix dependencyAnalysis plugin.
For some reason the plugin needs to be manually applied to all the libs, otherwise running `./gradlew buildHealth` does nothing.
Also, I had to add it to the convention plugins instead of using the `subprojects { ... }` approach because of the `:libraries:rustsdk` and `:libraries:textcomposer:lib` modules, which aren't proper Java/Kotlin modules.
* Add some extra checks to the dependency analysis plugin
* Move `Konsist` tests to quality checks
This should also help us avoid running them for every single test task, including Kover.
* Fix upload report path filter