- 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
Do not delete the whole screenshots folder, but just delete per language when the screenshots are generated.
Generate the data.js file regarding the existing screenshots, to be able to add languages.
Also the language will be sorted alphabetically (English still first).
And the screenshot will be sorted alphabetically.
Update the script to generate screenshot for specific language on demand.
Need to disable `ktlint_standard:trailing-comma-on-declaration-site` else got this error:
Skipping rule(s) which are depending on a rule which is not loaded. Please check if you need to add additional rule sets before creating an issue.
- Rule with id 'RuleId(value=standard:trailing-comma-on-declaration-site)' requires rule with id 'RuleId(value=standard:wrapping)' to be loaded