Simplifies running the SDK test suite versus darkside tests (which require special environment setup).
Note that the darkside tests are still broken. This is not a regression, as they were broken before. This is an intermediate step towards fixing those tests.
This will provide reports on dependecy updates that are available.
Its outside the critical path of the build, so it can be readily disabled or replaced in the future.
In the process of refactoring the Gradle scripts, ktlint now is applied to all Gradle modules. The demo-app hadn't been linted before, so this applies a series of minor autocorrections to this module.
In addition to using build-conventions to make the build scripts more DRY, the following additional changes are included in this commit:
- Convert build scripts to kts
- Fix a double-build issue with the SDK
- Add configurable options for treating compiler warnings as errors (disabled for now, due to extensive warnings that need to be corrected first)
- Added detekt as an additional static analysis tool
Some tests have been disabled to enable tests to actually complete; there are a number of test failures which need to be addressed.
These tests were failing prior to the refactoring.
The disabled tests can be easily found by searching for the Ignore annotation. They also appear in the Junit results window in Android Studio.
Move SDK from the root gradle project to its own Gradle module
Move the demo app to be a peer of the SDK
This will simplify integration with CI on Bitrise.
Removing this ensures that new contributors aren't confused by a CI configuration that is not used. A new configuration will be set up on Bitrise
If we ever need this again, it can be restored from the Git history.
Added instructions for installing Rust with Homebrew, which simplifies setup for many macOS developers.
Add x86_64 target, as the SDK can fail to build out of the box without this option.
Fix instructions for compiling the SDK versus compiling the sample application
The Android Gradle Plugin can automatically install Android SDKs, which can be helpful when new developers want to try checking out and running the project.